修正:啟動或設定企業單一 Sign-On 服務時0x80131700錯誤代碼

症狀

在啟動或設定企業單一 Sign-On 服務 (ENTSSO) 時,您可能會收到以下其中一種錯誤訊息:

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

錯誤:無法聯絡 SSO 伺服器 'localhost'。 檢查 SSO 是否已設定,且該伺服器上有執行 SSO 服務。
(RPC:0x800706D9:端點映射器已無法再提供端點。)

無法建立 SSOSQL。 要解決這個問題,請重新安裝 SSO,或是從 Visual Studio 命令字元嘗試「regasm SSOSQL.dll」。
錯誤代碼:0x80131700

無法連接 SQL Server 上的 SQL 資料庫「SSODB」 'SQLServerName'
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) 更新

熱修正會更新 ENTSSO 組合註冊,並更新為正確版本的 .NET 框架。

先決條件

您必須安裝 Enterprise Single Sign-On Service 4.0 才能套用此修正。

重新啟動需求

套用這個熱修正後,你不需要重啟電腦。

更多資訊

此問題也可透過使用 regasm 工具重新註冊 SSOSQL 組合語言來修復。 Regasm.exe 包含在 .Net 框架中。

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:\程式Files\Common Files\Enterprise 單 Sign-On\win32\ssosql.dll」
64 位元:regasm 「C:\Program Files\Common Files\Enterprise 單 Sign-On\ssosql.dll」

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