ALTER BROKER PRIORITY (Transact-SQL)
Altera as propriedades de uma prioridade de conversa do Service Broker.
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)