3

SqlDependency在 C# 应用程序中使用来跟踪数据何时更改。最近,我开始收到一个错误,表明已达到查询通知模板限制。设置依赖项后立即调用更改处理程序:

void sqlDependency_OnChange(object sender, SqlNotificationEventArgs e)
        {
            // At this point, e.Info == "TemplateLimit" and e.Type == Subscribe
        }

我查找了 TemplateLimit 并发现以下信息:“订阅查询导致其中一个目标表上的模板数量超过最大允许限制。”

我尝试通过执行以下命令从服务器中删除所有活动的查询通知:

KILL QUERY NOTIFICATION SUBSCRIPTION ALL

执行此操作后,视图中将没有任何条目sys.dm_qn_subscriptions。但是,我在设置时仍然遇到相同的错误SqlDependency。即使订阅已全部删除,查询通知模板似乎也没有被清除。我怎样才能SqlDependency让它再次工作?

编辑:我最终通过重新启动 SQL Server 解决了这个问题(正如我所料)。但是,我仍然想知道在所有查询通知订阅都被杀死后如何清除模板。

4

0 回答 0