兩臺Server,環境一樣,都使用同一域賬號。Server03的SQL Server可以通過Windows認證連接到Server04,但Server04通過Windows認證連接Server03時報如下錯誤:
目標主體名稱不正確,無法生成 SSPI 上下文。
PING Server03或Ping -a Server03,看起來都正常,問題究竟出在何處呢?無法生成SSPI上下文的原因比較多,具體可以搜索網絡,但我決定先從“目標主體名稱不正確”下手。如下:
首先運行setspn -L Server03和setspn -L Server04,結果發現Server03多了兩個MSSQLSvc打頭的SPN。
接下來,刪除兩個以MSSQLSvc打頭的SPN,命令時setspn -D SPN_name Server03
最後重啓Server03,再用Server04通過Windows認證連接Server03時,發現問題解除,成功建立了連接。
關於setspn命令的更多信息可以參考http://technet.microsoft.com/zh-cn/library/cc731241(v=WS.10).aspx。
關於如何排查“Cannot generate SSPI context”(無法生成 SSPI 上下文)錯誤消息,可參考http://support.microsoft.com/kb/811889/zh-cn
順利解決問題