在測試SQL Server 2016 Always On時,在創建偵聽器后,在客戶端使用SSMS, 可以用偵聽器名稱訪問Always On集群,但是使用偵聽器IP訪問時遇到"The target principal name is incorrect. Cannot generate SSPI context"
TITLE: Connect to Server
------------------------------
Cannot connect to 192.168.7.64.
------------------------------
ADDITIONAL INFORMATION:
The target principal name is incorrect. Cannot generate SSPI context. (Microsoft SQL Server, Error: 0)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=0&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
測試環境是在一個與生產環境隔離的Vmware集群里面,而且DNS服務器也是克隆過來的,在測試環境的DNS服務器上, 這個IP(192.168.7.64)緩存有生產環境的對應的服務器名稱。在命令窗口,使用下面命令確認即可。
ping -a 192.168.7.64
ping 偵聽器名稱
解決方法,在DNS服務器上刪除對應的記錄,然后新增一條記錄,然后在客戶端使用ipconfig /flushdns清空DNS緩存記錄,就可以使用偵聽器IP訪問Alway On
關於“The target principal name is incorrect. Cannot generate SSPI context. (Microsoft SQL Server, Error: 0)”這個問題的其它可能情況,可以參考博文The target principal name is incorrect. Cannot generate SSPI context
參考資料:
https://blogs.msdn.microsoft.com/meer_alam/2015/05/10/the-target-principal-name-is-incorrect-cannot-generate-sspi-context/

![clip_image001[4] clip_image001[4]](/image/aHR0cHM6Ly9pbWFnZXMyMDE3LmNuYmxvZ3MuY29tL2Jsb2cvNzM1NDIvMjAxODAyLzczNTQyLTIwMTgwMjA3MTQ0NDMwNzk1LTEzODI2MDc2NTgucG5n.png)