要通知的订阅存储在执行查询的数据库中。如果应用程序未收到通知,则会请求通知并立即进行检查,以查看订阅是否出现在动态管理视图 sys.dm_qn_subscriptions 中。如果 SQL Server 未生成通知事件并且未显示任何通知订阅,则请求参数可能无效。在这种情况下,SQL Server 将拒绝通知请求。SQL Server 将在以下两个位置报告有关被拒绝请求的信息:
- 检查 SQL Server 错误日志以获得订阅请求错误。
- 使用 SQL Server Profiler,并启动跟踪以显示查询通知类别中的事件。当生成带有“事件子类”(1 - 订阅已注册****)的 QN:Subscription 事件时,订阅成功。
请注意,使用查询和通知消息来跟踪通知订阅。当使用与现有订阅相同的消息、查询和传递服务提交订阅时,SQL Server 将更新现有订阅的超时值,而不是创建新订阅。
通常,当订阅请求无效时,SQL Server 会立即生成通知。通知消息的正文包含有关订阅的其他消息。
请参阅
概念
其他资源
sys.dm_qn_subscriptions
SQL Server Profiler 参考