IAf*_*sov 7 .net sql-server sqlclr sql-server-2008-r2
我有sql server 2008r2.根据我的互联网研究,它支持.net framework 4.0.我试图用sql clr函数安装我的程序集并收到错误.
程序集"MyAssembly"的CREATE ASSEMBLY失败,因为程序集是为不支持的公共语言运行时版本构建的.
询问
select * from sys.dm_clr_properties
Run Code Online (Sandbox Code Playgroud)
给出结果:
目录C:\ Windows\Microsoft.NET\Framework64\v2.0.50727\
版本v2.0.50727
CLR已初始化
我检查C:\ Windows\Microsoft.NET\Framework64 \以确定并找到v4.0.30319文件夹所在的位置.所以,安装了.net v4.0.
所以,我需要更改用于sql的CLR版本.我试过了
sp_configure 'clr enabled', 0;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
它没有帮助.我尝试添加带有内容的sqlservr.exe.config
<configuration>
<startup>
<requiredRuntime version="v4.0"/>
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
到C:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn文件夹并重新启动sql server.它没有帮助.
我知道创建注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\OnlyUseLatestCLR并将其设置为1的选项.它可以打破其他解决方案,所以我很害怕在生产中使用它.
有什么建议如何说服sql server使用clr v4.0?
你不能.在Doug Holland于2010年发表的一篇文章中,解释了旧版本的SQL Server(包括2008 R2)使用LockClrVersion调用来限制可以加载到最新2.0版本的.NET版本.
要使用.NET 4.0,您必须使用SQL Server 2012及更高版本
| 归档时间: |
|
| 查看次数: |
3441 次 |
| 最近记录: |