2009-02-10 77 views
0

我們有幾個使用SQL Server身份驗證的舊版ASP和PHP Web應用程序。定期地,所有應用程序都無法連接到我們的SQL Server 2000數據庫服務器,從而導致訪問被拒絕。SQL Server身份驗證的SSPI錯誤?

對應大致相同的時間,我們在SQLServer 2000的服務器上獲取

1115 Cannot generate SSPI Context SQLSTATE HY000 

錯誤。

這裏是奇怪的部分 - 重新啓動網絡服務器修復了這個問題。重啓數據庫服務器不起作用。

這對我來說沒有任何意義 - 我不認爲SSPI與SQL Server身份驗證有任何關係。

任何想法?

編輯:

一些額外的細節:

的Web服務器是在DMZ。 Web服務器上的主機文件具有數據庫服務器的條目(並且IP地址是正確的),因此Web服務器(理論上至少)不應該連接到DNS以連接到數據庫服務器。

它似乎不是防火牆問題。

回答

0

我認爲你是對的,在我的經驗中,該錯誤與SQL身份驗證無關。 Web服務器是否在任何類型的防火牆後面?對任何一臺服務器上的「主機」文件進行了任何更改?當您遇到這些問題時,您是否嘗試過從Web服務器ping SQL Server以確保Web服務器能夠解析SQL Server的名稱?我會檢查企業管理器中的活動監視器,以確保Web應用程序肯定使用SQL身份驗證進行連接。一種可能性是某種網絡或域控制器問題 - 這將解釋從Web服務器丟失的連接和SQL Server上的SSPI上下文錯誤,但不知道爲什麼重新啓動Web服務器可以解決它。

0

我們在我們的主要服務器和其他國家的一些客戶之間有這個。

如果在這裏和那裏之間存在太多延遲(例如防火牆),底層的Kerberos會丟失陰謀(技術術語:-)。

我們通過指定端口來修復它。另外,我建議使用服務器的FQDN。 所以我們現在使用:「SQLServer.domain.tld \ InstanceName,1234」

+0

除了我們正在使用Sql Server身份驗證(其中用戶名和密碼直接傳遞)而不是Windows身份驗證。所以,如果我理解正確,Kerberos根本不參與? – Nathan 2009-03-09 14:43:48