目標主體名稱不正確,無法生成 SSPI 上下文

今日測試了SQL SERVER 2014 ALWAYS ON 功能,發現一直無法使用SSMS登入SQL2014-2 ,出現的ERROR 為目標主體名稱不正確,無法生成 SSPI 上下文 。


在事件檢事器中的Error 為 –> Kerberos 用戶端從伺服器 Administrator 收到 KRB_AP_ERR_MODIFIED 錯誤。使用的目標名稱為 MSSQLSvc/SQL2014-2.test.win2016:1433。這表示目標伺服器無法解密用戶端所提供的票證。當目標伺服器主體名稱 (SPN) 不是在與目標服務正在使用之帳戶相同的帳戶登錄時,就會發生此情形。請確定目標 SPN 僅在伺服器所使用的帳戶上登錄。當目標服務帳戶密碼與在 Kerberos 金鑰發佈中心為該目標服務設定的帳戶密碼不同時,也會發生此情形。請確定伺服器上的服務與 KDC 均設為使用相同的密碼。若伺服器名稱不是完整合格名稱,且目標網域 (TEST.WIN2016) 與用戶端網域 (TEST.WIN2016) 不同,請檢查這兩個網域中是否有同名的伺服器帳戶,或是使用完整合格名稱來識別該伺服器。

原因和AD 有關 ,網路上的解決方式為刪除 SPN資料,方式如下:

C:\Users\Administrator.TEST>setspn -L SQL2014-2
已登錄的 ServicePrincipalNames – CN=SQL2014-2,CN=Computers,DC=test,DC=win2016:
MSServerClusterMgmtAPI/SQL2014-2
MSServerClusterMgmtAPI/SQL2014-2.test.win2016
MSSQLSvc/SQL2014-2.test.win2016:1433
MSSQLSvc/SQL2014-2.test.win2016
WSMAN/SQL2014-2
WSMAN/SQL2014-2.test.win2016
TERMSRV/SQL2014-2
TERMSRV/SQL2014-2.test.win2016
RestrictedKrbHost/SQL2014-2
HOST/SQL2014-2
RestrictedKrbHost/SQL2014-2.test.win2016
HOST/SQL2014-2.test.win2016

C:\Users\Administrator.TEST>setspn -D MSSQLSvc/SQL2014-2.test.win2016:1433 SQL2014-2

C:\Users\Administrator.TEST>setspn -D MSSQLSvc/SQL2014-2.test.win2016 SQL2014-2

參考資料:
https://www.twblogs.net/a/5b8d881e2b717718833eb636

分類: SQL Server。這篇內容的永久連結

在〈目標主體名稱不正確,無法生成 SSPI 上下文〉中有 5 則留言

  1. It’s very interesting link! Share it more please with you friends. Thank you!
    https://drochka.org/categories

  2. Noysiscog表示:

    very nice blog

    af62fod23441k83b

留言功能已關閉。