Gestion des priorités de conversation

Les priorités de conversation Service Broker vous permettent de définir les conversations prioritaires afin que leurs messages ne soient pas bloqués par les quantités volumineuses de messages provenant de conversations moins importantes.

Activation des priorités de conversation

Les priorités de conversation sont toujours actives pour les instructions RECEIVE. L'option de base de données HONOR_BROKER_PRIORITY doit être activée afin que les priorités de conversation soient actives pour les instructions SEND. Par défaut, cette option est désactivée pour toutes les bases de données.

Un administrateur peut activer les priorités de conversation pour les instructions SEND dans une base de données en utilisant l'instruction suivante :

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY ON;

Un administrateur peut désactiver les priorités de conversation pour les instructions SEND en utilisant l'instruction suivante :

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY OFF;

Spécification des priorités de conversation

Les priorités de conversation sont spécifiées à l'aide des instructions CREATE BROKER PRIORITY, ALTER BROKER PRIORITY et DROP BROKER PRIORITY. Pour plus d'informations, consultez Priorités de conversation.

Interrogation des priorités de conversation

Les priorités de conversation sont stockées dans la vue système sys.conversation_priorities. L'instruction suivante répertorie toutes les priorités de conversation dans la base de données active :

SELECT scp.name AS priority_name,
       ssc.name AS contract_name,
       ssvc.name AS local_service_name,
       scp.remote_service_name,
       scp.priority AS priority_level
FROM sys.conversation_priorities AS scp
    INNER JOIN sys.service_contracts AS ssc
       ON scp.service_contract_id = ssc.service_contract_id
    INNER JOIN sys.services AS ssvc
       ON scp.local_service_id = ssvc.service_id
ORDER BY contract_name, local_service_name,
         remote_service_name;