SQL Server: comment vérifier si CLR est activé?


Réponses:


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

26
Remarque supplémentaire: la valeur sera 1 si elle est activée, ou 0 si elle est désactivée.
Muthukumar

Ceci est toujours valable dans SQL 2016.
Rashack

34

Vérifiez config_valueles résultats desp_configure

Vous pouvez activer CLR en exécutant ce qui suit:

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

Article MSDN sur l'activation du CLR

Article MSDN sur sp_configure


3
Je ne pense pas que vous devriez réellement configurer l'option juste pour vérifier si elle est configurée! Je me rends compte qu'il dira was 0 now 1, ou similaire, mais ...
Josh M.

27

La réponse acceptée nécessite une petite clarification. La ligne sera là si CLR est activé ou désactivé. La valeur sera 1 si elle est activée ou 0 si elle est désactivée.

J'utilise ce script pour activer sur un serveur, si l'option est désactivée:

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 () est légèrement plus rapide que NOT EXISTS (). Juste une note amicale. ;)
clifton_h

3
dans ce cas, la lisibilité imho l'emporte sur les performances, qui pour une seule utilisation de dba comme celle-ci serait infinitésimale.
Larry Smith



0

C'est la réponse de @ Jason mais avec une sortie simplifiée

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

Ce qui précède renvoie ce qui suit:

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

Testé sur SQL Server 2017

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.