2

创建了一个运行 Windows 2008 R2 数据中心的 Azure VM。过去的某个时候,我安装了 SQL 2008 Express R2。在今天工作了一段时间后,MS SQL SERVER 服务无法启动并显示以下消息:

c:\program files\microsoft security client\MSESysprep.dll 的激活上下文生成失败。清单或策略文件 c:\program files\microsoft security client\MSESysprep.dll 在第 10 行出现错误。元素映像显示为此版本的 Windows 不支持元素 urn:schemas-microsoft-com:asm.v1 程序集。

我卸载了 SQL Express 并尝试重新安装,但发现此错误:

SQL Server 2008 R2 安装规则“FusionActive 模板库 (ATL)”失败

这两个错误似乎都与明显的损坏有关。一段时间后,我发现以下解决了我的问题。

如果您有另一个工作安装,您可以将以下两个清单文件从工作服务器复制到故障服务器:

C:\Windows\winsxs\Manifests\amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_8a1a02152edb659b.manifest

C:\Windows\winsxs\Manifests\x86_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d1c738ec43578ea1.manifest

如果您没有其他工作安装,请找到并打开上述文件并将以下 xml 粘贴到其中:

AMD64 清单:(见链接)

X86 清单:(见链接)

注意:您可能需要更改这些文件的权限才能覆盖它们。为此,请转到文件属性,安全选项卡,高级,所有者选项卡,编辑,选择管理员组并单击三次确定,直到所有窗口都关闭。重新打开文件的属性,安全选项卡,编辑,选择管理员组,然后选择完全控制。

简而言之,我只是将 AMD64 Manifest 复制到 C:\Windows\winsxs\Manifests\amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_8a1a02152edb659b.manifest 中,它是空的并且问题已解决。

希望这可以帮助某人。

参考 http://blog.codit.eu/post/2013/02/06/Rule-%E2%80%9CFusionActive-Template-Library-(ATL)%E2%80%9D-failed-at-SQL-Server- 2008-R2-Installation.aspx

4

2 回答 2

1

简而言之

将 AMD64 清单复制到

C:\Windows\winsxs\Manifests\amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727。4053_none_8a1a02152edb659b.manifest

哪个是空的,问题已解决。

解析度

尝试在 Azure 上的 Windows Server 2008 R2 虚拟机上安装 SQL Server 2008 R2 时,您可能会在设置支持规则步骤中遇到以下错误。这与两个损坏的清单文件有关。

如果您有另一个工作安装,您可以将以下两个清单文件从工作服务器复制到故障服务器:

  • C:\Windows\winsxs\Manifests\amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_8a1a02152edb659b.manifest

  • C:\Windows\winsxs\Manifests\x86_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d1c738ec43578ea1.manifest

如果您没有其他工作安装,请找到并打开上述文件并将以下 xml 粘贴到其中:

AMD64 清单:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<!-- Copyright © 1981-2001 Microsoft Corporation --> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<noInheritable/> 
<assemblyIdentity type="win32" name="Microsoft.VC80.ATL"     
version="8.0.50727.4053" processorArchitecture="amd64" 
publicKeyToken="1fc8b3b9a1e18e3b"/> 
<file name="ATL80.dll" hash="99840dcc34e78af239d80841eba316c184e407cd"     
hashalg="SHA1"/> 
</assembly>
X86 Manifest: 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<!-- Copyright © 1981-2001 Microsoft Corporation –&gt; 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<noInheritable/> 
<assemblyIdentity type="win32" name="Microsoft.VC80.ATL" 
version="8.0.50727.4053" processorArchitecture="x86" 
publicKeyToken="1fc8b3b9a1e18e3b"/> 
<file name="ATL80.dll" hash="6d7ce37b5753aa3f8b6c2c8170011b000bbed2e9" 
hashalg="SHA1"/> 
</assembly>

注意:您可能需要更改这些文件的权限才能覆盖它们。

为此:

  • 转到文件属性
  • 安全选项卡
  • 先进的
  • 所有者选项卡
  • 编辑
  • 选择管理员组
  • 并单击三下确定,直到关闭所有窗口。
  • 重新打开文件的属性
  • 安全选项卡
  • 编辑
  • 选择管理员组
  • 并选择完全控制。

参考

http://blog.codit.eu/post/2013/02/06/Rule-%E2%80%9CFusionActive-Template-Library-(ATL)%E2%80%9D-failed-at-SQL-Server-2008 -R2-安装.aspx

于 2014-11-04T08:17:24.020 回答
1

接受的答案对我不起作用,但这个建议确实有效:手动安装 Sql Server 2015 安装文件(参见http://blog.amastaneh.com/2012/11/fusion-active-template-library-atl.html

于 2015-02-08T08:36:53.033 回答