修正:啟動或設定 Enterprise Single Sign-On Service 時0x80131700錯誤碼

症狀

啟動或設定 Enterprise Single Sign-On Service (ENTSSO) 時,您可能會收到下列其中一個錯誤訊息:

Windows 無法在本機電腦上啟動企業單一 Sign-On 服務。
錯誤0x80131700:0x80131700

錯誤:無法連絡 SSO 伺服器「localhost」。 檢查是否已設定 SSO,以及 SSO 服務是否在該伺服器上執行。
(RPC: 0x800706D9:端點對應程式沒有可用的端點。)

無法建立 SSOSQL。 若要修正此問題,請重新安裝 SSO,或從 Visual Studio 命令提示字元嘗試執行「regasm SSOSQL.dll」。
錯誤碼:0x80131700

無法連線至 SQL Server 'SQLServerName' 上的 SQL 資料庫 'SSODB'
0x80131700 (Win32)

注意:ENTSSO 是 BizTalk 和 HIS 的必要服務。 因此,這些服務也無法啟動。

原因

安裝 .NET Framework 4.0 之後會發生這個問題。 ENTSSO 用來存取SQL Server (SSOSQL.dll) 的組件註冊並未指定正確的.NET Framework版本。  安裝 .NET Framework 4.0 時,組件會嘗試使用較新的架構,然後無法載入。 

解決方式

若要解決此問題,請在 ENTSSO 伺服器上安裝下列連結中提供的修正程式:

Microsoft Enterprise Single Sign-On v4 (KB2252691) 的更新

此 Hotfix 會使用正確的 .NET Framework 版本更新 ENTSSO 組件註冊。

先決條件

您必須擁有 Enterprise Single Sign-On Service 4.0 才能套用此修正程式。

重新啟動需求

套用此 Hotfix 之後,您不必重新啟動電腦。

更多資訊

您也可以使用 regasm 工具重新註冊 SSOSQL 組件來修復此問題。 Regasm.exe 隨附於 .Net Framework 中。

32 位元伺服器

1.       開啟命令視窗
2.       前往 C:\Windows\Microsoft.NET\Framework\v2.0.50727
3.       類型: regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\ssosql.dll”

64 位元伺服器

1.       開啟命令視窗
2.       前往 C:\Windows\Microsoft.NET\Framework64\v2.0.50727
3.       輸入下列每一項,然後按 ENTER:

32 位元: regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\win32\ssosql.dll”
64 位元: regasm “C:\Program Files\Common Files\Enterprise Single Sign-On\ssosql.dll”

注意:在 64 位元伺服器上,需要針對 32 位元和 64 位元版本的 ssosql.dll 執行 regasm。