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


Ответы:


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

26
Дополнительное примечание: значение будет 1, если включено, или 0, если отключено.
Мутукумар

Это все еще актуально в SQL 2016.
Rashack

34

Проверьте 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


3
Я не думаю, что вам действительно нужно настраивать эту опцию, просто чтобы проверить, настроена ли она! Я понимаю, что там будет сказано was 0 now 1или что-то подобное, но ...
Джош М.

27

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

1
EXISTS () немного быстрее, чем NOT EXISTS (). Просто дружеское замечание. ;)
clifton_h

3
в этом случае читаемость imho превосходит производительность, которая для такого однократного использования dba была бы бесконечно малой.
Ларри Смит


3

Правильный результат для меня с 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


0

Это ответ @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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.