대화 우선 순위 관리

Service Broker 대화 우선 순위를 사용하면 우선 순위를 높일 대화를 지정하여 이러한 대화의 메시지가 중요도가 낮은 대화에서 발생하는 다수의 메시지에 의해 차단되지 않도록 할 수 있습니다.

대화 우선 순위 설정

대화 우선 순위는 RECEIVE 문에 대해 항상 활성 상태입니다. SEND 문에 대해 대화 우선 순위를 활성 상태로 만들려면 HONOR_BROKER_PRIORITY 데이터베이스 옵션이 ON으로 설정되어 있어야 합니다. 기본적으로 이 옵션은 모든 데이터베이스에 대해 OFF로 설정되어 있습니다.

관리자는 다음 문을 사용하여 데이터베이스에서 SEND 문에 대해 대화 우선 순위를 활성화할 수 있습니다.

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY ON;

관리자는 다음 문을 사용하여 SEND 문에 대해 대화 우선 순위를 비활성화할 수 있습니다.

ALTER DATABASE MyDatabase SET HONOR_BROKER_PRIORITY OFF;

대화 우선 순위 지정

대화 우선 순위는 CREATE BROKER PRIORITY, ALTER BROKER PRIORITY 및 DROP BROKER PRIORITY 문을 사용하여 지정합니다. 자세한 내용은 대화 우선 순위를 참조하십시오.

대화 우선 순위 쿼리

대화 우선 순위는 sys.conversation_priorities 시스템 뷰에 저장됩니다. 다음 문은 현재 데이터베이스의 모든 대화 우선 순위를 나열합니다.

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;