ALTER BROKER PRIORITY (Transact-SQL)
Aplica-se a: SQL Server Instâ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 } ]
)
}
[;]
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)