Administrar las prioridades de la conversación

Las prioridades de conversación de Service Broker permiten especificar a qué conversaciones dar prioridad para sus mensajes no se bloqueen por grandes números de mensajes desde conversaciones menos importantes.

Habilitar las prioridades de conversación

Las prioridades de conversación siempre están activas para instrucciones RECEIVE. La opción de base de datos HONOR_BROKER_PRIORITY debe estar seleccionada para activar las prioridades de conversación para instrucciones SEND. De forma predeterminada, esta opción es OFF para todas las bases de datos.

Un administrador puede habilitar prioridades de conversación para instrucciones SEND en una base de datos usando la instrucción siguiente:

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY ON;

Un administrador puede desactivar las prioridades de la conversación para las instrucciones SEND mediante la instrucción siguiente:

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY OFF;

Especificar las prioridades de la conversación

Las prioridades de la conversación se especifican mediante las instrucciones CREATE BROKER PRIORITY, ALTER BROKER PRIORITY y DROP BROKER PRIORITY. Para obtener más información, vea Prioridades de conversación.

Consultar las prioridades de la conversación

Las prioridades de la conversación se almacenan en la vista del sistema sys.conversation_priorities. La instrucción siguiente enumera todas las prioridades de conversación en la base de datos actual:

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;