2012-05-31 39 views
0

我們有一個Service Broker應用程序,用於在兩臺單獨的非域計算機上的兩個SQL Server實例之間進行通信。我們的一種測試配置在我們以前從未見過的模式下失敗。類似配置的系統似乎工作正常,並且SSBDiagnose沒有指出任何問題。使用SQL Server Service Broker的加密錯誤

這是我們所看到的錯誤:

一邊記錄此錯誤:

An error occurred while receiving data: '10054(An existing connection was forcibly closed by the remote host.)'.

該系統的另一端登錄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] 

我們猜測問題出在我們的證書配置上,但重新安裝證書就好像我們從頭重建系統並沒有幫助。

有沒有人看過這些錯誤之前或有任何想法他們指向什麼故障?

回答

3

我以前見過這個,它總是一些限制訪問RSA密鑰庫的流氓應用程序的問題。我從來沒有找到更改權限的罪魁禍首......是不是特定於Service Broker,其他應用程序遇到同樣的問題,例如。 RSA Key Store Permissions

解決方法是向目錄\ProgramData\Microsoft\Crypto\RSA\MachineKeys上的SQL Server服務帳戶和所有包含的文件授予讀寫權限。

如果問題仍然存在,請聯繫產品支持。

更新。是的,我記得:有關於該問題的知識庫文章,Error message when you use Service Broker or database mirroring to connect to an instance of SQL Server 2005: "Connection handshake failed"。我應該記得,我寫了KB的存根:)

+0

優秀,我會檢查這些引用了。謝謝! – mwigdahl

+0

我們正與你給我們具體的解決辦法的問題,而是一種替代方法看起來像是在工作,我會跟進,當我們有一個最低限度的特權方法來完成工作,所以它會記錄在案。感謝一堆(再次)的幫助! – mwigdahl

+0

最佳答案我見過。數據+1 – Merenix

2

這可能是有幫助的。我們在sys.transmission_queue遇到過這樣的問題(傳輸狀態爲Connection handshake failed. An OS call failed: (0) (null). State 87.,原因是磁盤空間不足。

相關問題