2011-09-23 36 views
4

我收到错误无法与HRESULT初始化公共语言运行库(CLR)V2.0.50727 0x80131522

消息6512,级别16,状态27,6号线 无法初始化公共语言运行时(CLR) v2.0.50727与HRESULT 0x80131522。您需要重新启动SQL Server才能使用CLR集成功能。

我在Windows 7中使用SQL Server 2008 R2 Edition。创建存储过程时发生此错误。在这个存储过程中,我将一些临时数据插入一个变量表中,该变量表中只有一列有HIERARCHYID作为数据类型

有些谷歌后我才知道这是与CLR有关的东西,所以我启用了clr在以后的SQL Server

如果我检查“选择dm_clr_properties *”该说的状态为“CLR初始化永久失败”

任何人都可以请帮

回答

3

SQLCLR初始化失败,原因是你无法执行插入。 HierarchyID数据类型使用CLR对象。您是否尝试过在机器上修复了.NET框架>

+0

该问题是由安装SQL Server后更新.NET Framework(也就是Service Pack 2)引起的。修复.NET Framework将恢复功能。 –

+0

我必须修复(我使用DISM命令禁用,重新启动,然后使用DISM命令启用),然后重新启动SQL Server。 – influent

1

你应该尝试运行在给你这问题数据库中的以下内容:如果没有被sys.assemblies返回

select * from sys.assemblies  --This is important to check. 
select * from sys.dm_clr_properties --This is important to check. 

,那么你有一个问题。
如果“状态”,来自sys.drm_clr_properties,说的不是“CLR初始化”,那么你有问题。

您将需要重新安装.NET Framework,或者尝试使用此工具对其进行修复:
http://www.microsoft.com/en-us/download/details.aspx?id=30135
注:我们的DBA无法完成修复,因为它需要重新启动这是一个很大的交易服务器我们的生产环境。