KB2387686-修复:当你尝试安装 SQL Server 2008 或 SQL Server 2008 R2 时出现错误消息 "出现 MOF 语法错误" 错误消息

适用于: Microsoft SQL Server 2008 Service Pack 2SQL Server 2008 R2

Microsoft 将 Microsoft SQL Server 2008 和 Microsoft SQL Server 2008 R2 修补程序分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2008 或 SQL Server 2008 R2 版本的所有修补程序和所有安全修补程序。

症状


当您尝试安装 SQL Server 2008 或 SQL Server 2008 R2 时,安装将失败。 此外,你会收到类似以下内容的错误消息:
SQL Server 安装失败。 若要继续,请调查失败的原因,纠正问题,卸载 SQL Server,然后重新运行 SQL Server 安装程序。退出代码(十进制):-2068643839Exit 设备代码:1203Exit 错误代码: SQL Server 安装失败。 若要继续,请调查失败的原因,纠正问题,卸载 SQL Server,然后重新运行 SQL Server 安装程序。失败: C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20100513_122519\Detail.txtConfiguration 错误代码:0xD3BEBD98@1211@1Configuration 错误说明:出现 MOF 语法错误。
此外,类似于以下内容的条目可能会记录在详细信息 .txt 文件中:
<时间戳> Slp:处理项目183时出现错误在 "行 18232-18447" 文件 E:\MSSQL10\MSSQL10. 中定义MSSQLSERVER\MSSQL\Binn\etwcls.mof.transformed:<时间戳> Slp:编译器返回错误0x800706beError 号码:0X800706be、设施: Win32<时间戳> Slp:说明:远程过程调用失败。<时间戳> Slp: <时间戳> Slp: Sco:针对 mof 文件 E:\MSSQL10\MSSQL10. 的编译操作MSSQLSERVER\MSSQL\Binn\etwcls.mof.transformed 失败。 退出代码 3<>Slp 的时间戳 :在计时 ConfigNonRC 和方案 ConfigNonRC 期间,功能 SQL_Engine_Core_Inst 的配置操作失败。<时间戳> Slp:出现 MOF 语法错误。<时间戳> Slp:在计时 ConfigNonRC 和方案 ConfigNonRC 期间,无法为功能 SQL_Engine_Core_Inst 配置操作。<时间戳> Slp: Microsoft SqlServer. ScoException:出现 MOF 语法错误。

原因


出现此问题的原因是在安装期间,Etwcls 中转换的 MOF 文件出现编译错误。

解决方案


此修补程序仅提供此 MOF 编译问题的部分修补程序。 若要完全解决此问题,你还必须应用修补程序2446036。 修复程序2446036通过 MOF 编译任何 MOF 文件解决所有可能的故障。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2446036 修复:应用 SQL server 2008 SP1 的 CU9 后无法安装 SQL Server 2008 或 SQL Server 2008 R2

累积更新信息

SQL Server 2008 Service Pack 1

此问题的修补程序首次发布于 SQL Server 2008 Service Pack 1 的累积更新9。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2083921 SQL Server 2008 的累积更新包9(Service Pack 1)
注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 修复版本附带的所有修补程序和所有安全修补程序。 Microsoft 建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
970365 在发布 SQL Server 2008 Service Pack 1 之后发布的 SQL Server 2008 版本
为特定 SQL Server service pack 创建 Microsoft SQL Server 2008 修补程序。 必须将 SQL Server 2008 Service Pack 1 修补程序应用到 SQL Server 2008 Service Pack 1 的安装。 默认情况下,SQL Server service pack 中提供的任何修补程序都包含在下一个 SQL Server service pack 中。

SQL Server 2008 Service Pack 2

此问题的修补程序首次发布于 SQL Server 2008 Service Pack 2 的累积更新1。 有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2289254 SQL Server 2008 Service Pack 2 的累积更新1
注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2402659 发布 SQL Server 2008 Service Pack 2 后发布的 SQL Server 2008 版本

SQL Server 2008 R2

此问题的修补程序首次在累积更新4中发布。有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2345451 SQL Server 2008 R2 的累积更新程序包4
注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 发布 SQL Server 2008 R2 后发布的 SQL Server 2008 R2 版本

状态


Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考


有关 SQL Server 的增量服务模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
935897 从 SQL Server 团队提供的增量服务模型可提供报告问题的修补程序
有关 SQL Server 更新的命名架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
822499 Microsoft SQL Server 软件更新程序包的新命名架构
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语的说明