SQL Server: Як перевірити, чи ввімкнено CLR?


Відповіді:



35

Перевірте 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
ІСНУЄ () трохи швидше, ніж НЕ ІСНУЄ (). Просто дружня записка. ;)
clifton_h

3
у цьому випадку читабельність imho перевершує продуктивність, яка для одного пострілу в базі даних, як це, буде нескінченно малою.
Ларрі Сміт,


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

Це відповідь @ Джейсона, але зі спрощеним результатом

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.