2013-07-07 35 views
1

我有一個客戶端,我無法使用SQL Server客戶端工具遠程連接到他的數據庫 他正在運行安裝在實例名稱中的SQL Server 2012內部無法在Windows 2008R2中註冊SPN來爲SQL Server 2012服務帳戶創建SPN

我收窄問題

我跑

execute XP_READERRORLOG 

並且得到錯誤:

The SQL Server Network Interface library could not register the Service Principal Name (SPN) [ MSSQLSvc/SERVERNAME.domainname.com:INTERNAL ] for the SQL Server service. Windows return code: 0xffffffff, state: 63. Failure to register a SPN might cause integrated authentication to use NTLM instead of Kerberos. This is an informational message. Further action is only required if Kerberos authentication is required by authentication policies and if the SPN has not been manually registered.

所以我檢查SQL服務是默認的虛擬賬戶 「NT服務\ MSSQL $ INTERNAL」

下運行,我照做這裏http://msdn.microsoft.com/en-us/library/ms191153.aspx

setspn -A MSSQLSvc/ServerName.domainname.com:1433 "NT Service\MSSQL$INTERNAL" 

但是它告訴我:

Unable to locate account MSSQL$INTERNAL

我在我的命令提示命令中做錯了什麼?

我讀a blog here

If the instance of SQL Server is running under the LocalSystem account, you do not have to run the SETSPN utility.

但我不明白爲什麼我會得到錯誤?

回答

2

由於服務作爲網絡服務運行,我相信帳戶名稱將需要是機器名稱。

Tristan在他的博客http://blogs.technet.com/b/tristank/archive/2006/05/08/spns-r-fn.aspx中顯示了類似的內容。

他的例子是HTTP,但你應該能夠將其更改爲MSSQLSvc:

對於一個應用程序池運行爲網絡服務在默認端口:

SETSPN -A HTTP/intranetweb syd-inet-web01(即最後一部分的機器名稱)

1

正如您從abatishchev的消息中所看到的,SQL服務正在虛擬帳戶(Windows7/Server2008R2中的常見情況)下運行,而不是網絡服務。我有同樣的問題,我的結論是,它是不可能手動註冊虛擬(可能MSA)帳戶的SPN ...

除MS191153之外,您可以讀取它的狀態ms143504(SQL.110) : 「如果虛擬帳戶未能註冊服務主體名稱(SPN),請手動註冊SPN」。然後發送給MS191153,除了說VA和MSA有權在默認情況下注冊SPN外,並沒有提供任何有用的信息。如果您挖掘文章「服務帳戶循序漸進指南」,您可以閱讀Windows Server 2008 R2功能級別的域提供對MSA​​和VA的自動密碼管理和SPN管理的本機支持。對於Windows 2003/8,需要額外的配置。什麼是你的域名FL?

在我的情況下,服務重新啓動後,SPN自動註冊,沒有任何進一步的問題。感謝MS再次爲「簡化」事物...

相關問題