SqlDependency - 达到查询通知模板限制

时间:2013-10-10 20:34:26

标签: c# sql sql-server sqldependency

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

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来解决问题(正如我所料)。但是,我仍然想知道在所有查询通知订阅被杀死后如何清除模板。

0 个答案:

没有答案