2009-06-19 102 views
2

我们有关于SQL查询通知服务的这个奇怪的问题。 我们有一个使用QN服务运行的主Web应用程序,因此当监视数据发生变化时,Web中的缓存项会从SQL获取通知。它运行良好。 奇怪的是当其他支持Web服务尝试注册到SQL 2005 SP2的QN订阅并发生此错误查询通知错误

“系统异常:SqlDependency.Start已被调用服务器命令正在执行不止一次,但没有匹配的服务器/用户/数据库Start()调用当前命令“

只有在SQLDependency中针对特定背景数据块的SQL查询时才会出现此错误。另一个背景数据库工作得很好。

对于QN /服务代理问题找不到太多的资源。希望任何有类似经验的人都能分享他们的知识

+0

此问题已得到解决,原因是我们在全局代码中的一个错误,它没有在SQL中执行SQLDepenedncy.start()所有实例。但是,如果没有启动SQLDependency,错误应该是'当使用SqlDependency而没有提供选项值时,必须针对每个正在执行的服务器调用SqlDependency.Start()。所以我仍然想知道为什么SQL会产生这个奇怪的错误。 – RocketsLee 2009-06-19 21:04:47

回答

1

这意味着Start()方法已经被调用这个数据库。 启动方法有限制,您可以在底部看到here

1

这不是关于这一主题的直接回答,但QN/SSB资源的问题,我有我的网站上几篇文章:

我是SQ的前开发人员L服务器团队,并且我参与了Service Broker,并且或多或少地与其查询通知和SqlDependency,Event Notifications,dbMail等内部使用有关。

+0

感谢您的信息,我们知道SQL的QN订阅成本资源,您能否告诉我们企业级SQL 2005服务器有多少QN订阅太多?我们在我们的应用中实施QN,测试OK但在生产服务器中存在性能问题。上次我查了一下,他们在SQL中大约有3000个QN订阅。我想知道这是一个问题或不是。谢谢! – RocketsLee 2009-07-15 14:24:21