C# SQL依赖关系导致SQL Server中出现错误
我们有一个C#web应用程序,它使用SQL依赖关系使缓存的查询数据过期。虽然一切正常,但我们看到很多错误,特别是在我们的生产环境中 第一条错误消息如下: ServiceBroker需要访问数据库中的主密钥 “订阅管理器”。错误代码:32。主密钥必须存在并且 需要服务主密钥加密 它显示在服务器事件日志和SQL server日志文件中。我相信消息的实际内容有点像是在转移视线,因为我已经创建了一个数据库主密钥 我也试过了C# SQL依赖关系导致SQL Server中出现错误,c#,sql-server,sqldependency,C#,Sql Server,Sqldependency,我们有一个C#web应用程序,它使用SQL依赖关系使缓存的查询数据过期。虽然一切正常,但我们看到很多错误,特别是在我们的生产环境中 第一条错误消息如下: ServiceBroker需要访问数据库中的主密钥 “订阅管理器”。错误代码:32。主密钥必须存在并且 需要服务主密钥加密 它显示在服务器事件日志和SQL server日志文件中。我相信消息的实际内容有点像是在转移视线,因为我已经创建了一个数据库主密钥 我也试过了 重新创建服务主密钥和数据库主密钥 确保数据库所有者是sa 确保用户帐户具有创建
- 重新创建服务主密钥和数据库主密钥
- 确保数据库所有者是sa李>
- 确保用户帐户具有创建服务、队列、过程和订阅的权限 查询通知
- 确保代理已启用
-8490
无法
查找远程服务
&载脂蛋白;SqlQueryNotificationService-7303d251-1eb2-4f3a-9e08-d5d17c28b6cf'
因为它不存在
我知道,由于SqlDependency.Stop无法清理数据库中的所有内容,我们在其中一台生产服务器上看到了数千个这样的内容,因此其中一些是正常的
令人沮丧的是,我们已经使用SQL通知好几年了,现在还没有问题,所以我们的应用程序或服务器设置中一定发生了一些变化,导致了这种情况,但在这一点上,我不知道是什么
这些应用程序是运行在Windows 2012服务器上的.net 4.0 MVC和WCF,称为也运行在Windows 2012上的SQL 2012服务器。根据Microsoft的说法,如果SQL服务器资源不足,特别是内存不足,可能会导致生成这些错误。您有原始文章吗?