我们有一个在 Windows 2003 服务器 64 位上运行 SQL 2005 Workgroup 64 位 (9.0.4273) 的 SQL 服务器。
我们已经运行 sp_configure 并重新配置了服务器,这表明 clr 现在已启用。
exec sp_configure 'clr enabled', '1'
go
reconfigure
go
但是,当尝试调用 CREATE ASSEMBLY 时,服务器完全死在我们身上,我们必须完全重新启动机器。
更多诊断信息,即使 clr enabled 设置为 1 并且我们已经重新启动了整个服务器,运行以下语句
select * from sys.dm_clr_properties
返回
directory
version
state locked CLR version with mscoree
这就是在另一台机器上未启用 CLR 时所说的内容。
在正确启用的机器上(重新启动后)此函数读取
directory C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
version v2.0.50727
state CLR is initialized
如果您对服务器没有
VIEW SERVER STATE
权限,则查询可能无法正确显示 CLR 版本。检查您正在运行查询的登录是否具有
VIEW SERVER STATE
权限。一种方法是将登录“db_owner”授予数据库并重新运行查询,然后您应该得到正确的结果。更多信息
sys.dm_clr_properties
:[ https://msdn.microsoft.com/en-nz/library/ms174983.aspx]