SQL Server: как проверить, включена ли среда CLR?


SQL Server 2008-какой простой способ проверить, включена ли среда clr?

5 78

5 ответов:

SELECT * FROM sys.configurations
WHERE name = 'clr enabled'

Регистрация config_value в результате sp_configure

вы можете включить CLR, выполнив следующее:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO

статья MSDN о включении CLR

статья MSDN о процедуре sp_configure

принятый ответ нуждается в небольшом уточнении. Строка будет там, если среда 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;  

С произошла ошибка в Microsoft .NET Framework при попытке загрузить идентификатор сборки 65675