SQL Server: Jak sprawdzić, czy CLR jest włączony?

89

SQL Server 2008 - Jak łatwo sprawdzić, czy włączona jest funkcja CLR?

magnattic
źródło

Odpowiedzi:

132
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
Jason
źródło
26
Dodatkowa uwaga: Wartość 1, jeśli jest włączona, lub 0, jeśli jest wyłączona.
Muthukumar
To jest nadal ważne w SQL 2016.
Rashack
34

Sprawdź config_valuew wynikachsp_configure

Możesz włączyć CLR, uruchamiając następujące polecenie:

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

Artykuł MSDN dotyczący włączania CLR

Artykuł MSDN na sp_configure

codingbadger
źródło
3
Myślę, że nie powinieneś tak naprawdę konfigurować tej opcji tylko po to, aby sprawdzić, czy jest skonfigurowana! Zdaję sobie sprawę, że powie was 0 now 1lub coś podobnego, ale ...
Josh M.
27

Przyjęta odpowiedź wymaga niewielkiego wyjaśnienia. Wiersz będzie tam, jeśli CLR jest włączony lub wyłączony. Wartość będzie 1, jeśli jest włączona, lub 0, jeśli jest wyłączona.

Używam tego skryptu, aby włączyć na serwerze, jeśli opcja jest wyłączona:

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
Larry Smith
źródło
1
ISTNIEJE () jest nieco szybsze niż NIE ISTNIEJE (). Tylko przyjacielska notatka. ;)
clifton_h
3
w tym przypadku czytelność imho przewyższa wydajność, która przy takim pojedynczym użyciu dba byłaby nieskończenie mała.
Larry Smith,
3
select *
from sys.configurations
where name = 'clr enabled'
grejpfrutowy księżyc
źródło
0

To jest odpowiedź @ Jason, ale z uproszczonym wyjściem

SELECT name, CASE WHEN value = 1 THEN 'YES' ELSE 'NO' END AS 'Enabled'
FROM sys.configurations WHERE name = 'clr enabled'

Powyższe zwraca co następuje:

| name        | Enabled |
-------------------------
| clr enabled | YES     |

Testowane na SQL Server 2017

Mason Schmidgall
źródło