當您連線到 SQL Server Analysis Services 的具名執行個體時,便需要 SQL Server 瀏覽器服務的 SPN

適用於: Microsoft SQL Server 2005 Developer EditionMicrosoft SQL 2005 Server EnterpriseMicrosoft SQL Server 2005 Standard Edition

狀況


請考慮下列案例。您連線到 Microsoft SQL Server Analysis Services 的具名執行個體。然後,SQL Server 瀏覽器服務會判斷具名的執行個體位於連接埠。則連接會使用 Kerberos 驗證。在這個案例中,SQL Server 瀏覽器服務的服務原則名稱 (SPN) 是必要的除了 Analysis Services 的具名執行個體的 SPN。如果 SQL Server 瀏覽器服務的 spn 作不存在,則 Kerberos 驗證會失敗。

原因


發生這種情形只有當連接字串包含SSPI = Kerberos參數。在此情況下,連線會強迫使用 Kerberos 驗證,而且必須設定 SQL Server 瀏覽器服務的 SPN。


如果連接字串不包含SSPI = Kerberos參數,Kerberos 驗證通常用。SQL Server 瀏覽器服務的連線會改為使用 NTLM 和 「 NT_ANONYMOUS 」 帳戶。在此情況下,SQL Server 瀏覽器服務的連線會成功。SQL Server 瀏覽器服務會決定正確的連接埠。然後,實際的資料庫連接會使用 Kerberos 驗證,以提供,則為 true 的驗證。

解決方案


您必須使用執行 SQL Server 瀏覽器服務的帳戶,以建立 SQL Server 瀏覽器服務的 SPN。




NetBIOS SPN 的格式如下所示︰
MSOLAPDisco.3/serverHostName
完整格式的網域名稱的格式 SPN 如下︰

MSOLAPDisco.3/serverHostName.Fully_Qualified_domainName

如何註冊 SPN

您必須是執行Setspn命令的網域系統管理員群組的成員。

若要建立網域帳戶下執行的瀏覽器服務的 SPN,請在命令提示字元中執行下列命令︰


Setspn.exe-MSOLAPDisco.3/serverHostName.Fully_Qualified_domainName Browser_Service_Startup_Account




Setspn.exe-MSOLAPDisco.3/serverHostName Browser_Service_Startup_Account
如果您必須建立 SPN 的 LocalSystem 帳戶下執行的瀏覽器服務,請在命令提示字元執行下列命令︰
Setspn.exe-MSOLAPDisco.3/serverHostName.Fully_Qualified_domainName serverHostName Setspn.exe-MSOLAPDisco.3/serverHostName serverHostName

若要確認 SPN

當服務在網域帳戶下執行︰
Setspn –l Browser_Service_Startup_Account



當服務在 LocalSystem 帳戶下執行︰
Setspn-l serverHostName

狀態


此行為是系統設計的一部份。