Partilhar via


ALTER BROKER PRIORITY (Transact-SQL)

Altera as propriedades de uma prioridade de conversa do Service Broker.

Ícone de vínculo de tópico Convenções da sintaxe 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 } ]
              )
}
[;]

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 deve especificar o nome de um contrato no banco de dados atual.

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

    • 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 deve 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 de 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 de tipo nvarchar(256). Service Broker usa uma comparação byte a byte para correspondência com a cadeia de caracteres RemoteServiceName. A comparação diferencia maiúsculas de minúsculas e não considera o agrupamento 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 de 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 de 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 deve ser um literal de inteiro 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, consulte CREATE BROKER PRIORITY (Transact-SQL).

Permissões

Permissão para criar padrões de prioridade de conversa a membros das funções de banco de dados fixas db_ddladmin ou db_owner e à 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

Referência

CREATE BROKER PRIORITY (Transact-SQL)

DROP BROKER PRIORITY (Transact-SQL)

sys.conversation_priorities (Transact-SQL)