ALTER SERVICE (Transact-SQL)
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
Altera um serviço existente.
Convenções de sintaxe de Transact-SQL
Sintaxe
ALTER SERVICE service_name
[ ON QUEUE [ schema_name . ]queue_name ]
[ ( < opt_arg > [ , ...n ] ) ]
[ ; ]
<opt_arg> ::=
ADD CONTRACT contract_name | DROP CONTRACT contract_name
Argumentos
service_name
É o nome do serviço a ser alterado. Os nomes de servidor, banco de dados e esquema não podem ser especificados.
ON QUEUE [ schema_name. ] queue_name
Especifica a nova fila deste serviço. O Agente de Serviço move todas as mensagens deste serviço da fila atual para uma nova fila.
ADD CONTRACT contract_name
Especifica um contrato para acrescentar ao conjunto de contratos exposto por este serviço.
DROP CONTRACT contract_name
Especifica um contrato a ser excluído do conjunto de contratos exposto por este serviço. O Agente de Serviço envia uma mensagem de erro em quaisquer conversas existentes com este serviço que usem este contrato.
Comentários
Quando a instrução ALTER SERVICE exclui um contrato de um serviço, o serviço não pode mais ser um destino das conversas que usam esse contrato. Portanto, Agente de Serviço não permite conversas novas ao serviço naquele contrato. As conversas existentes que usam o contrato não são afetadas.
Para alterar a AUTHORIZATION para um serviço, use a instrução ALTER AUTHORIZATION.
Permissões
A permissão para alterar um serviço assume como padrão o proprietário do serviço, os membros das funções de banco de dados fixas db_ddladmin ou db_ownere os membros da função de servidor fixa sysadmin.
Exemplos
a. Alterando a fila para um serviço
O exemplo a seguir altera o serviço //Adventure-Works.com/Expenses
para usar a fila NewQueue
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE NewQueue ;
B. Adicionando um novo contrato ao serviço
O exemplo a seguir altera o serviço //Adventure-Works.com/Expenses
para permitir caixas de diálogo no contrato //Adventure-Works.com/Expenses
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
C. Adicionando um novo contrato ao serviço, descartando um contrato existente
O exemplo a seguir altera o serviço //Adventure-Works.com/Expenses
para permitir caixas de diálogo no contrato //Adventure-Works.com/Expenses/ExpenseProcessing
e para não permitir caixas de diálogo no contrato //Adventure-Works.com/Expenses/ExpenseSubmission
.
ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseProcessing],
DROP CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
D. Alterando o proprietário de um serviço
O exemplo a seguir altera o proprietário de //Adventure-Works.com/Expenses
para o usuário dbo.
ALTER AUTHORIZATION ON SERVICE::[//Adventure-Works.com/Expenses] TO dbo ;
GO