服务代理/ Sqldependency错误

时间:2015-08-21 13:01:16

标签: c# sql service-broker sqldependency query-notifications

我正在使用服务代理/ Sqldependency来监视表更改。实际的控制台应用程序在不同于sql server的服务器上作为Windows服务运行。我们每天停下来开始服务。它的工作正常,而不是每天发生的两个错误

第一个错误对应于我们停止并启动Windows服务的时间,该服务停止并启动sqldependency

Service Broker需要访问数据库' XXXX'中的主密钥。错误代码:32。主密钥必须存在,并且需要服务主密钥加密。

第二个错误对应于在停止和启动sqldependency后表中发生第一次更改的时间范围

会话句柄上的查询通知对话框' {4443C789-1047-E511-80DA-005056A32BA6}。'由于以下错误而关闭:&{39; -8490无法找到远程服务' SqlQueryNotificationService-555c9c9d-d01a-423c-8710-7e9e9a63fbca'因为它不存在。' .5

以下是我正在使用的代码段

OnService Start:

SqlDependency.Stop(connectionString);
SqlDependency.Start(connectionString);

OnService Stop

SqlDependency.Stop(connectionString);

在通知事件中

SqlDependency dependency = new SqlDependency(command);

dependency.OnChange += new OnChangeEventHandler(OnDependencyChange); 

我不确定我还缺少什么导致上面列出的错误。有人可以请帮助我理解导致这些错误的原因和最新解决方案。除了这两个错误之外,该服务似乎运行正常。

感谢您的时间并回复

0 个答案:

没有答案