【发布时间】:2011-06-15 20:21:00
【问题描述】:
SQL Server 2008 - 检查 clr 是否启用的简单方法是什么?
【问题讨论】:
标签: sql sql-server clr
SQL Server 2008 - 检查 clr 是否启用的简单方法是什么?
【问题讨论】:
标签: sql sql-server clr
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
【讨论】:
检查sp_configure结果中的config_value
您可以通过运行以下命令来启用 CLR:
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
【讨论】:
was 0 now 1,或者类似的,但是...
接受的答案需要一点澄清。如果启用或禁用 CLR,该行将在那里。如果启用,则值为 1,如果禁用,则值为 0。
如果该选项被禁用,我使用此脚本在服务器上启用:
if not exists(
SELECT value
FROM sys.configurations
WHERE name = 'clr enabled'
and value = 1
)
begin
exec sp_configure @configname=clr_enabled, @configvalue=1
reconfigure
end
【讨论】:
select *
from sys.configurations
where name = 'clr enabled'
【讨论】:
对我来说使用 SQL Server 2017 的正确结果:
USE <DATABASE>;
EXEC sp_configure 'clr enabled' ,1
GO
RECONFIGURE
GO
EXEC sp_configure 'clr enabled' -- make sure it took
GO
USE <DATABASE>
GO
EXEC sp_changedbowner 'sa'
USE <DATABASE>
GO
ALTER DATABASE <DATABASE> SET TRUSTWORTHY ON;
来自An error occurred in the Microsoft .NET Framework while trying to load assembly id 65675
【讨论】:
这是@Jason 的答案,但输出经过简化
SELECT name, CASE WHEN value = 1 THEN 'YES' ELSE 'NO' END AS 'Enabled'
FROM sys.configurations WHERE name = 'clr enabled'
以上返回如下:
| name | Enabled |
-------------------------
| clr enabled | YES |
在 SQL Server 2017 上测试
【讨论】: