サブスクリプションは登録されたが、イベント メッセージが生成されず、サブスクリプションが削除される場合のクエリ通知のトラブルシューティング
サブスクリプションの登録には成功したのに、サブスクリプションが削除されてしまい、通知を生成するはずのクエリが通知を生成しない場合、SQL Server は指定されたサービスにイベント メッセージを配信できません。この場合、データを更新したステートメントからエラーが返されるか、Service Broker から QueryNotificationErrorsQueue にエラーが送信されることがあります。SQL Server はこのようなエラー メッセージを受信すると、SQL Server エラー ログにこれらのエラーを書き込みます。
この問題が発生する最も一般的な原因としては、サブスクリプション要求にデータベース内のサービスと一致するサービス名が含まれていなかったことが挙げられます。
データを変更するコマンドがエラーを報告しない場合、最も可能性の高い問題としては、要求を受け取るサービスが正しく構成されていないことが考えられます。この問題を診断するには、SQL Server エラー ログを確認します。
また、SQL Server が SQL Server Profiler を使用して通知メッセージを生成したかどうかを確認することもできます。SQL Server Profiler を使用して、クエリ通知カテゴリのイベントを表示するトレースを開始してください。SQL Server が通知メッセージを生成している場合、イベント サブクラスが 3 (Subscription Fired) である QN:Subscription イベントも生成されます。
Service Broker のルーティングおよびメッセージ配信のトラブルシューティングの詳細については、「ルーティングおよびメッセージ配信のトラブルシューティング」を参照してください。
参照
その他の技術情報
sys.services (Transact-SQL)
ルーティングおよびメッセージ配信のトラブルシューティング
SQL Server Profiler のリファレンス