Share via


쿼리 알림 문제 해결: 등록된 구독, 생성되지 않은 이벤트 메시지 및 제거된 구독

구독이 성공적으로 등록되었지만 알림을 생성해야 하는 쿼리가 구독이 제거되었는데도 알림을 생성하지 않는 경우 SQL Server에서 지정된 서비스로 이벤트 메시지를 배달할 수 없습니다. 이 경우 데이터를 업데이트한 문이 오류를 반환하거나 Service Broker에서 QueryNotificationErrorsQueue로 오류를 보낼 수 있습니다. SQL Server는 이러한 오류 메시지를 받고 오류를 SQL Server 오류 로그에 기록합니다.

이 문제의 가장 일반적인 원인은 구독 요청에 데이터베이스의 서비스와 일치하는 서비스 이름이 없기 때문입니다.

데이터를 변경하는 명령에서 오류를 보고하지 않는 경우 대부분 요청을 받는 서비스가 제대로 구성되어 있지 않다는 문제가 있습니다. 이 문제를 진단하려면 SQL Server 오류 로그를 확인합니다.

SQL Server에서 SQL Server 프로파일러를 사용하여 알림 메시지를 생성했는지 여부도 확인할 수 있습니다. SQL Server 프로파일러에서 Query Notifications 범주에 이벤트를 표시하는 추적을 시작합니다. SQL Server에서 알림 메시지를 생성할 때 3 - Subscription Fired라는 이벤트 하위 클래스를 사용하여 QN:Subscription 이벤트도 생성합니다.

Service Broker 라우팅 및 메시지 배달의 문제 해결에 대한 자세한 내용은 라우팅 및 메시지 배달 문제 해결을 참조하십시오.