연구개발/Service Broker
sys.service_contracts, sys.service_contract_message_usages
HEAD1TON
2011. 8. 24. 01:40
데이터베이스의 모든 메시지 유형과 어떤 계약을 사용하고 있는지, 그리고 어떤 끝점이 메시지 유형을 전송하는지에 대한 목록 생성
SELECT C.name AS Contract, M.name AS MessageType,
CASE
WHEN is_sent_by_initiator = 1 AND is_sent_by_target = 1 THEN 'ANY'
WHEN is_sent_by_initiator = 1 THEN 'INITIATOR'
WHEN is_sent_by_target = 1 THEN 'TARGET'
END AS SentBy
FROM sys.service_message_types AS M
JOIN sys.service_contract_message_usages AS U
ON M.message_type_id = U.message_type_id
JOIN sys.service_contracts AS C
ON C.service_contract_id = U.service_contract_id
ORDER BY C.name, M.name;
SELECT C.name AS Contract, M.name AS MessageType,
CASE
WHEN is_sent_by_initiator = 1 AND is_sent_by_target = 1 THEN 'ANY'
WHEN is_sent_by_initiator = 1 THEN 'INITIATOR'
WHEN is_sent_by_target = 1 THEN 'TARGET'
END AS SentBy
FROM sys.service_message_types AS M
JOIN sys.service_contract_message_usages AS U
ON M.message_type_id = U.message_type_id
JOIN sys.service_contracts AS C
ON C.service_contract_id = U.service_contract_id
ORDER BY C.name, M.name;