ALTER BROKER PRIORITY (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Altera as propriedades de uma prioridade de conversa do Agente de Serviço.

Convenções de sintaxe de Transact-SQL

Sintaxe

  
ALTER BROKER PRIORITY ConversationPriorityName  
FOR CONVERSATION  
{ SET ( [ CONTRACT_NAME = {ContractName | ANY } ]  
        [ [ , ] LOCAL_SERVICE_NAME = {LocalServiceName | ANY } ]  
        [ [ , ] REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY } ]  
        [ [ , ] PRIORITY_LEVEL = { PriorityValue | DEFAULT } ]  
              )  
}  
[;]  
  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

ConversationPriorityName
Especifica o nome da prioridade de conversa a ser alterado. O nome deve recorrer a uma prioridade de conversa no banco de dados atual.

SET
Especifica os critérios para determinar se a prioridade de conversa é aplicável a uma conversa. SET é necessário e deve conter pelo menos um critério: CONTRACT_NAME, LOCAL_SERVICE_NAME, REMOTE_SERVICE_NAME ou PRIORITY_LEVEL.

CONTRACT_NAME = {ContractName | ANY}
Especifica o nome de um contrato a ser usado como critério para determinar se a prioridade de conversa se aplica a uma conversa. ContractName é um identificador Mecanismo de Banco de Dados e precisa especificar o nome de um contrato no banco de dados atual.

ContractName
Especifica que a prioridade de conversa pode ser aplicada somente em conversas em que a instrução BEGIN DIALOG que iniciou a conversa tenha especificado ON CONTRACT ContractName.

ANY
Especifica que a prioridade de conversa pode ser se aplicada em qualquer conversa, independentemente do contrato utilizado.

Se CONTRACT_NAME não for especificado, a propriedade de contrato da prioridade de conversa não será alterada.

LOCAL_SERVICE_NAME = {LocalServiceName | ANY}
Especifica o nome de um serviço a ser usado como critério para determinar se a prioridade de conversa é aplicável a um ponto de extremidade de conversa.

LocalServiceName é um identificador Mecanismo de Banco de Dados e precisa especificar o nome de um serviço no banco de dados atual.

LocalServiceName
Especifica que a prioridade de conversa pode ser se aplicada a:

  • Qualquer ponto de extremidade de conversa de iniciador cujo nome de serviço do iniciador corresponda a LocalServiceName.

  • Qualquer ponto de extremidade de conversa de destino cujo nome de serviço de destino corresponda a LocalServiceName.

ANY

  • Especifica que a prioridade de conversa pode ser aplicada em qualquer ponto de extremidade de conversa, independentemente do nome do serviço local usado pelo ponto de extremidade.

Se LOCAL_SERVICE_NAME não for especificado, a propriedade de serviço local da prioridade de conversa não será alterada.

REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY}
Especifica o nome de um serviço a ser usado como critério para determinar se a prioridade de conversa é aplicável a um ponto de extremidade de conversa.

RemoteServiceName é um literal do tipo nvarchar(256). O Agente de Serviço usa uma comparação byte a byte para corresponder à cadeia de caracteres RemoteServiceName. A comparação diferencia maiúsculas de minúsculas e não considera a ordenação atual. O serviço de destino pode estar na instância atual do Mecanismo de Banco de Dados ou em uma instância remota do Mecanismo de Banco de Dados.

'RemoteServiceName'
Especifica que a prioridade de conversa seja atribuída ao seguinte:

  • Qualquer ponto de extremidade de conversa do iniciador cujo nome de serviço de destino associado corresponda a RemoteServiceName.

  • Qualquer ponto de extremidade de conversa de destino cujo nome de serviço do iniciador associado corresponda a RemoteServiceName.

ANY
Especifica que a prioridade de conversa se aplica a qualquer ponto de extremidade de conversa, seja qual for o nome do serviço remoto associado ao ponto de extremidade.

Se REMOTE_SERVICE_NAME não for especificado, a propriedade de serviço remoto da prioridade de conversa não será alterada.

PRIORITY_LEVEL = { PriorityValue | DEFAULT }
Especifica o nível de prioridade a ser atribuído a qualquer ponto de extremidade de conversa que use os contratos e serviços especificados na prioridade de conversa. PriorityValue precisa ser um inteiro literal de 1 (prioridade mais baixa) a 10 (prioridade mais alta).

Se PRIORITY_LEVEL não for especificado, a propriedade do nível de prioridade da prioridade de conversa não será alterada.

Comentários

Nenhuma propriedade alterada por ALTER BROKER PRIORITY se aplica a conversas existentes. As conversas existentes continuam com a prioridade que foi atribuída quando elas foram iniciadas.

Para obter mais informações, confira CREATE BROKER PRIORITY (Transact-SQL).

Permissões

A permissão para criar uma prioridade de conversa assume como padrão os membros das funções de banco de dados fixas db_ddladmin ou db_owner e da função de servidor fixa sysadmin. Requer a permissão ALTER no banco de dados.

Exemplos

a. Alterando apenas o nível de prioridade de uma prioridade de conversa existente.

Altera o nível de prioridade, mas não altera o contrato, o serviço local ou as propriedades de serviço remoto.

ALTER BROKER PRIORITY SimpleContractDefaultPriority  
    FOR CONVERSATION  
    SET (PRIORITY_LEVEL = 3);  

B. Alterando todas as propriedades de uma prioridade de conversa existente.

Altera o nível de prioridade, o contrato, o serviço local e as propriedades de serviço remoto.

ALTER BROKER PRIORITY SimpleContractPriority  
    FOR CONVERSATION  
    SET (CONTRACT_NAME = SimpleContractB,  
         LOCAL_SERVICE_NAME = TargetServiceB,  
         REMOTE_SERVICE_NAME = N'InitiatorServiceB',  
         PRIORITY_LEVEL = 8);  

Consulte Também

CREATE BROKER PRIORITY (Transact-SQL)
DROP BROKER PRIORITY (Transact-SQL)
sys.conversation_priorities (Transact-SQL)