Managing Conversation Priorities
Service Broker conversation priorities let you specify which conversations to prioritize so that their messages are not blocked by large numbers of messages from less important conversations.
Conversation priorities are always active for RECEIVE statements. The HONOR_BROKER_PRIORITY database option must be on to make conversation priorities active for SEND statements. By default, this option is off for all databases.
An administrator can enable conversation priorities for SEND statements in a database by using the following statement:
ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY ON;
An administrator can turn off conversation priorities for SEND statements by using the following statement:
ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY OFF;
Conversation priorities are specified by using the CREATE BROKER PRIORITY, ALTER BROKER PRIORITY, and DROP BROKER PRIORITY statements. For more information, see Conversation Priorities.
Conversation priorities are stored in the sys.conversation_priorities system view. The following statement lists all the conversation priorities in the current database:
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;