简体   繁体   English

使用SQL Server Service Broker的密码错误

[英]Cryptographic Error Using SQL Server Service Broker

We have a Service Broker application where we're communicating between two SQL Server instances on two separate, non-domain machines. 我们有一个Service Broker应用程序,正在两个独立的非域计算机上的两个SQL Server实例之间进行通信。 One of our test configurations is failing in a mode we've never seen before. 我们的测试配置之一在一种我们从未见过的模式下失败了。 Similarly-configured systems seem to work fine, and SSBDiagnose doesn't indicate any problems. 配置类似的系统似乎可以正常运行,并且SSBDiagnose不会指示任何问题。

Here are the errors we're seeing: 这是我们看到的错误:

One side logs this error: 一侧记录此错误:

An error occurred while receiving data: '10054(An existing connection was forcibly closed by the remote host.)'. 接收数据时发生错误:“ 10054(远程主机强行关闭了现有连接。)”。

The other side of the system logs these errors in the SQL Server log: 系统的另一端将这些错误记录在SQL Server日志中:

  2012-04-24 10:45:52.58 spid17s Error: 9650, Severity: 16, State: 5. 2012-04-24 10:45:52.58 spid17s A system cryptographic call failed during a Service Broker or Database Mirroring operation: system error '5(Access is denied.)'. 2012-04-24 10:45:52.59 spid17s Error: 9641, Severity: 16, State: 12. 2012-04-24 10:45:52.59 spid17s A cryptographic operation failed. This error indicates a serious problem with SQL Server. Check the SQL Server error log and the Windows event logs for further information. 2012-04-24 10:45:52.59 Logon Service Broker login attempt failed with error: Connection handshake failed. An OS call failed: (0) (null). State 87.'. [CLIENT: 192.168.220.3] 

We're guessing that the issue is with our certificate configuration, but reinstalling certificates as if we were rebuilding the system from scratch did not help. 我们猜测问题出在我们的证书配置上,但是像从头开始重建系统一样重新安装证书没有帮助。

Has anyone seen these errors before or have any idea what failure they're pointing to? 有没有人以前见过这些错误,或者知道他们要指出什么故障?

I've seen this before and it always was an issue of some rogue application restricting access to the RSA key store. 我以前见过,这始终是一些流氓应用程序限制对RSA密钥存储的访问的问题。 I never been able to locate the culprit that changes permissions... Is is not Service Broker specific, other apps run into same issue eg. 我无法找到更改权限的罪魁祸首...不是特定于Service Broker的,其他应用程序也遇到了相同的问题,例如。 RSA Key Store Permissions RSA密钥库权限

The solution is to grant read-write permission to the SQL Server service account on the directory \\ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys and all contained files. 解决方案是向目录\\ProgramData\\Microsoft\\Crypto\\RSA\\MachineKeys和所有包含的文件上的SQL Server服务帐户授予读写权限。

If the problem persist, contact product support. 如果问题仍然存在,请联系产品支持。

Update. 更新。 Of yes, I remeber: there is an KB article for the issue, Error message when you use Service Broker or database mirroring to connect to an instance of SQL Server 2005: "Connection handshake failed" . 是的,我想起了:有一个有关该问题的知识库文章, 当您使用Service Broker或数据库镜像连接到SQL Server 2005实例时出现错误消息:“连接握手失败” I should had remember, I wrote the stub for that KB :) 我应该记得,我为该KB写了存根:)

This could be helpful for someone. 这对某人可能会有帮助。 We encountered such problem (transmission status in sys.transmission_queue was Connection handshake failed. An OS call failed: (0) (null). State 87. . The reason was insufficient disk space. 我们遇到了这样的问题( sys.transmission_queue中的传输状态为Connection handshake failed. An OS call failed: (0) (null). State 87.原因是磁盘空间不足。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM