排除查询通知故障:检查订阅

要通知的订阅存储在执行查询的数据库中。如果应用程序未收到通知,则会请求通知并立即进行检查,以查看订阅是否出现在动态管理视图 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 参考

帮助和信息

获取 SQL Server 2005 帮助