症状

请考虑以下情形:

  • 在群集环境中,您安装了 Microsoft SQL Server 2012年的实例。

  • 您尝试在包含此实例的服务器上安装 SQL Server 服务包或累积更新。

在此情况下,安装操作过程中很早失败。具体来说,则操作失败时安装程序将检查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) 会出现此问题。

解决方案

若要解决此问题,请执行以下步骤:

  1. 在管理的命令提示符下,键入cd %systemroot%\system32\wbem,,然后按 enter 键。

  2. 键入以下命令,然后按 Enter:

    regsvr32 cluswmi.dll

  3. 键入以下命令,然后按 Enter:

    mofcomp.exe ClusWMI.mof

  4. 返回累积更新服务器上的服务包的安装程序。

详细信息

要确定此问题由群集的 WMI 命名空间,请执行以下步骤︰

  1. 群集的管理员并且正在运行 SQL Server 安装程序的帐户登录。

  2. 在管理的命令提示符下运行以下命令︰

    wbemtest

  3. Windows 管理规范测试器窗口中,单击连接...

  4. Namespace中键入root\MSCluster ,然后单击连接按钮。

在此情况下,您可能会收到类似于以下内容的错误消息︰

编号︰ 0x8004100e
设施︰ WMI
说明︰ 无效的命名空间

注意:作为一项附加测试,您可以在 Windows PowerShell 运行下面的查询︰

选择名称从 <MSCluster_Cluster>如果该问题不由无效的MSCluster命名空间,预期的结果是返回群集网络名称。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×