Partager via


ALTER BROKER PRIORITY (Transact-SQL)

Modifie les propriétés d'une priorité de conversation Service Broker.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

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 } ]
              )
}
[;]

Arguments

  • ConversationPriorityName
    Spécifie le nom de la priorité de conversation à modifier. Le nom doit faire référence à une priorité de conversation dans la base de données active.

  • SET
    Spécifie les critères permettant de déterminer si la priorité de conversation s'applique à une conversation. SET est requis et doit contenir au moins un critère : CONTRACT_NAME, LOCAL_SERVICE_NAME, REMOTE_SERVICE_NAME ou PRIORITY_LEVEL.

  • CONTRACT_NAME = {ContractName | ANY}
    Spécifie le nom d'un contrat à utiliser comme critère pour déterminer si la priorité de conversation s'applique à une conversation. ContractName est un identificateur du Moteur de base de données et doit spécifier le nom d'un contrat dans la base de données active.

    • ContractName
      Indique que la priorité de conversation peut être uniquement appliquée aux conversations dans lesquelles l'instruction BEGIN DIALOG qui démarre la conversation spécifie ON CONTRACT ContractName.

    • ANY
      Indique que la priorité de conversation peut être appliquée à n'importe quelle conversation, quel que soit le contrat qu'elle utilise.

    Si CONTRACT_NAME n'est pas spécifié, la propriété de contrat de la priorité de conversation n'est pas modifiée.

  • LOCAL_SERVICE_NAME = {LocalServiceName | ANY}
    Spécifie le nom d'un service à utiliser comme critère pour déterminer si la priorité de conversation s'applique à un point de terminaison.

    LocalServiceName est un identificateur Moteur de base de données et doit spécifier le nom d'un service dans la base de données active.

    • LocalServiceName
      Spécifie que la priorité de conversation peut être appliquée aux éléments suivants :

      • Tout point de terminaison initiateur dont le nom du service initiateur correspond à LocalServiceName.

      • Tout point de terminaison cible dont le nom du service cible correspond à LocalServiceName.

    • ANY

      • Spécifie que la priorité de conversation peut être appliquée à n'importe quel point de terminaison, quel que soit le nom du service local utilisé par le point de terminaison.

    Si LOCAL_SERVICE_NAME n'est pas spécifié, la propriété du service local de la priorité de conversation n'est pas modifiée.

  • REMOTE_SERVICE_NAME = {'RemoteServiceName' | ANY}
    Spécifie le nom d'un service à utiliser comme critère pour déterminer si la priorité de conversation s'applique à un point de terminaison.

    RemoteServiceName est un littéral de type nvarchar (256). Service Broker utilise une comparaison octet par octet pour la concordance avec la chaîne RemoteServiceName. La comparaison respecte la casse et ne prend pas en compte le classement actuel. Le service cible peut être dans l'instance actuelle du Moteur de base de données ou dans une instance distante du Moteur de base de données.

    • 'RemoteServiceName'
      Spécifie que la priorité de conversation doit être attribuée aux éléments suivants :

      • Tout point de terminaison initiateur dont le nom du service cible associé correspond à RemoteServiceName.

      • Tout point de terminaison cible dont le nom du service initiateur associé correspond à RemoteServiceName.

    • ANY
      Spécifie que la priorité de conversation s'applique à n'importe quel point de terminaison, quel que soit le nom du service distant associé au point de terminaison.

    Si REMOTE_SERVICE_NAME n'est pas spécifié, la propriété du service distant de la priorité de conversation n'est pas modifiée.

  • PRIORITY_LEVEL = { PriorityValue | DEFAULT }
    Spécifie le niveau de priorité à attribuer à un point de terminaison qui utilise les contrats et les services spécifiés dans la priorité de conversation. PriorityValue doit être un littéral entier compris entre 1 (priorité la plus faible) et 10 (priorité la plus élevée).

    Si PRIORITY_LEVEL n'est pas spécifié, la propriété du niveau de priorité de la conversation n'est pas modifiée.

Notes

Aucune propriété modifiée par ALTER BROKER PRIORITY n'est appliquée aux conversations existantes. Les conversations existantes se poursuivent avec la priorité qui leur a été attribuée au démarrage.

Pour plus d'informations, consultez CREATE BROKER PRIORITY (Transact-SQL).

Autorisations

L'autorisation de création d'une priorité de conversation est accordée par défaut aux membres du rôle de base de données fixe db_ddladmin ou db_owner, ainsi qu'aux membres du rôle serveur fixe sysadmin. Exige l'autorisation ALTER sur la base de données.

Exemples

A.Modification portant uniquement sur le niveau de priorité d'une priorité de conversation existante

Modifie le niveau de priorité, mais ne modifie pas le contrat, le service local ni les propriétés du service distant.

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

B.Modification de toutes les propriétés d'une priorité de conversation existante

Modifie les propriétés du niveau de priorité, du contrat, du service local et du service distant.

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

Voir aussi

Référence

CREATE BROKER PRIORITY (Transact-SQL)

DROP BROKER PRIORITY (Transact-SQL)

sys.conversation_priorities (Transact-SQL)