狀況
請考慮下列情況:
-
在叢集環境中,您可以安裝 Microsoft SQL Server 2012年的執行個體。
-
您嘗試在包含此執行個體的伺服器上安裝 SQL Server service pack 或累加更新。
在此情況下,安裝作業會在處理程序的很早期失敗。具體來說,表示作業失敗時安裝程式會檢查Cluster_IsOnlineIfClustered規則。此外,Detail.txt 檔案會記錄類似下列的訊息︰
<Time Stamp> Slp: Init rule target object: Microsoft.SqlServer.Configuration.Cluster.Rules.ClusterServiceFacet<
Time Stamp> Slp: The given key was not present in the dictionary.<
Time Stamp> Slp: at Microsoft.SqlServer.Chainer.Infrastructure.ServiceContainer.GetService(Type serviceType)
at Microsoft.SqlServer.Chainer.Infrastructure.ServiceContainer.GetService[T]()
at Microsoft.SqlServer.Chainer.Infrastructure.ServiceContainer.get_Cluster()
at Microsoft.SqlServer.Configuration.Cluster.Rules.ClusterServiceFacet.Microsoft.SqlServer.Configuration.RulesEngineExtension.IRuleInitialize.Init(String ruleId)
at Microsoft.SqlServer.Configuration.RulesEngineExtension.RulesEngine.Execute(Boolean stopOnFailure)
<
Time Stamp> Slp: Rule initialization failed - hence the rule result is assigned as Failed
注意Detail.txt 檔案是位於 %ProgramFiles%\Microsoft SQL Server\110\Setup Bootstrap\Log\ <YYYYMMDD_HHMM> 項目。
原因
之所以發生這個問題,是因為無效的MSCluster命名空間中 Windows 管理檢測 (WMI)。
解決方案
若要解決這個問題,請依照下列步驟執行︰
-
在系統管理的命令提示字元中,輸入cd 的 %systemroot%\system32\wbem,,然後按 Enter 鍵。
-
輸入下列命令,然後按 Enter:
regsvr32 cluswmi.dll
-
輸入下列命令,然後按 Enter:
mofcomp.exe ClusWMI.mof
-
重新執行安裝的 service pack 或伺服器上累積的更新。
更多的資訊
若要識別這個問題因叢集的 WMI 命名空間,請依照下列步驟執行︰
-
是在叢集上的系統管理員,而且執行 SQL Server 安裝程式的帳戶登入。
-
在 [系統管理的命令提示字元中執行下列命令︰
wbemtest
-
在Windows 管理檢測軟體測試人員] 視窗中,按一下 [連線]。
-
Root\MSCluster在Namespace,,,然後按一下 [連接] 按鈕。
在此情況下,您可能會收到類似下列的錯誤訊息︰
數字︰ 收到 0x8004100e
設備︰ WMI
描述︰ 無效的命名空間
注意為額外的測試,您可以在 Windows PowerShell 中執行下列查詢︰
選取的名稱,從 <MSCluster_Cluster>如果問題不因無效的MSCluster命名空間,預期的結果會是傳回的叢集網路名稱。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。