SQL Server: come verificare se CLR è abilitato?


89

SQL Server 2008: qual è un modo semplice per verificare se clr è abilitato?

Risposte:


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

26
Nota aggiuntiva: il valore sarà 1 se abilitato o 0 se disabilitato.
Muthukumar

Questo è ancora valido in SQL 2016.
Rashack


27

La risposta accettata necessita di un piccolo chiarimento. La riga sarà presente se CLR è abilitato o disabilitato. Il valore sarà 1 se abilitato o 0 se disabilitato.

Uso questo script per abilitare su un server, se l'opzione è disabilitata:

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 () è leggermente più veloce di NOT EXISTS (). Solo una nota amichevole. ;)
clifton_h

3
in questo caso la leggibilità imho supera le prestazioni, che per un utilizzo dba a scatto singolo come questo sarebbe infinitesimale.
Larry Smith

3
select *
from sys.configurations
where name = 'clr enabled'


0

Questa è la risposta di @ Jason ma con output semplificato

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

Quanto sopra restituisce quanto segue:

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

Testato su SQL Server 2017

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.