2010-08-23 4 views
0

SQL Server 2005 Service Broker 큐 "ProductChangeMessages"및 Service Broker 서비스 "ProductChangeNotifications"가 있습니다. 그 쌍은 뒷받침하고 있습니다. SqlDependency 나는 일하려고 애 쓰지만 의존성의 OnChanged는 발생하지 않습니다. 감시중인 테이블이 변경되면 구독 (결과 : select * from sys.dm_qn_subscriptions을 통해 볼 수 있음)이 제거됩니다.큐/서비스의 대상 서비스 이름을 변경하는 방법

to_service_name로 큐 이름이 SELECT * FROM sys.transmission_queue으로 표시 큐에 메시지가 있습니다와 transmission_status에 그들은 대상 서비스 이름을 찾을 수 없습니다

있습니다. 서비스 이름이 올바르게 지정되었는지 그리고 라우팅 정보가 제공되었는지 확인하십시오.

그래서 메시지를 생성하는 것은 서비스 이름이 아닌 큐 이름을 to_service_name으로 사용하는 것으로 나타납니다.

올바른 서비스 이름을 사용하도록 어떻게 변경할 수 있습니까?

답변

1

수 없습니다. 먼저 의존성 인프라의 적절한 서비스 이름을 구독해야합니다.

기존 메시지를 정리하려면 큰 누크 옵션 인 alter database <dbname> set new_broker with rollback immediate;을 사용하면 모든 기존 대화/메시지를 제거하지만 모든 서비스/대기열은 그대로 유지합니다. 세분화 된 옵션은 end dialog <handle> with cleanup을 통해 하나씩 잘못된 대화 상자를 종료하는 것입니다.

관련 문제