我剛剛完成了在AD中使用SPN註冊我們的SQL Server 2008 R2。 我可以在使用經由SQLNCLI10.1 OLEDB使用以下關鍵字進行連接:如何使用SPN通過SSMS連接
Server SPN=MSSQLSvc/server.domain.local
和一旦連接,以下查詢驗證正在使用的Kerberos:
SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid;
結果:
KERBEROS
不過,我無法弄清楚,或者搜索互聯網上的信息,使用SPN內SSMS的連接。將建議的關鍵字添加到「其他連接參數」只是導致
Keyword not supported: 'serverspn'
Keyword not supported: 'server spn'
可以使用SPN在SSMS內進行連接嗎?如果我這樣做沒有指定SPN,測試查詢返回:
NTLM
創建SPN的命令是'setspn -A MSSQLSvc/server.domain.local SQLDatabase'。我沒有設置特定的TCP端口,希望不會限制使用SPN到TCPIP協議。我將通過向帳戶授予SPN權限來嘗試在博文中討論的自動註冊,並向後報告。謝謝 – TKInker
我刪除了手動設置的SPN:'setspn -D MSSQLSvc/server.domain.local SQLDatabase',使用ASDI Edit設置讀/寫servicePrincipalName'權限,如Clint博客文章中所述,並重新啓動服務器。我可以看到現在自動設置的SPN:'setspn -T * -Q */server.domain.local' CN = SQL引擎帳號,OU =服務帳號,OU =辦公網絡,DC = DOMAIN,DC =本地''' MSSQLSvc/SERVER.DOMAIN.LOCAL'然而,沒有任何改變。數據庫服務在域帳戶下運行,並且我作爲系統管理員還與域帳戶連接。我還缺少什麼? – TKInker
有可能存在重複的SPN(即與服務和不同的帳戶有關聯的SPN)。運行setspn -x。這將列出重複的spns。如果有任何欺騙,請使用setspn -d將其刪除。此外,在命令提示符下,運行klist以驗證您是否擁有端口1433 kerberos票證。 – brian