Partilhar via


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

Confira também