我们有一个在 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
答案1
如果您没有VIEW SERVER STATE
服务器权限,查询可能无法正确显示 CLR 版本。
检查运行查询的登录名是否有VIEW SERVER STATE
权限。一种方法是授予该登录名“db_owner”对数据库的权限,然后重新运行查询,然后您应该会得到正确的结果。
更多信息sys.dm_clr_properties
:[https://msdn.microsoft.com/en-nz/library/ms174983.aspx]