我正在使用以下命令尝试在SQL Server 2008实例上启用CLR
CREATE TABLE #tmpInvestorJob (
LogID INT PRIMARY KEY,
Completed INT
)
INSERT INTO #tmpInvestorJob
SELECT LogID, COUNT(1)
FROM ...
WHERE [Status] = 3
GROUP BY LogID
UPDATE g
SET Completed = ISNULL(a.Completed, 0)
FROM #TempTimeline g
LEFT JOIN #tmpInvestorJob a ON a.LogID = g.LogID
OPTION(RECOMPILE)
但我仍然收到以下错误
禁用.NET Framework代码的执行。设置“clr enabled” 配置选项并重启服务器
我还需要做其他事吗?
答案 0 :(得分:3)
要查看到目前为止已检查和尝试过的内容:
EXEC sp_configure 'clr enabled', 1;
已被执行。RECONFIGURE;
已被执行。EXEC sp_configure 'clr enabled';
会显示1
的{{1}}。run_value
会显示EXEC sp_configure 'lightweight pooling';
的{{1}}。 0
属性值为“使用mscoree锁定CLR版本”,意思是:
可以看到具有mscoree 状态的锁定CLR版本,其中托管CLR未被使用,因此尚未初始化。托管CLR在第一次执行DDL语句(例如CREATE ASSEMBLY (Transact-SQL))或托管数据库对象时初始化。
尝试/检查的其他事项:
答案 1 :(得分:0)
尝试
EXEC sp_configure 'clr enabled', 1
go
RECONFIGURE
go
EXEC sp_configure 'clr enabled'
go
另外
要启用CLR集成,您必须具有ALTER SETTINGS服务器级别权限,该权限由sysadmin和serveradmin固定服务器角色的成员隐式保留。
答案 2 :(得分:0)
您确定已启用高级选项吗?
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO