97 votes

SQL Server : Comment vérifier si le CLR est activé ?

SQL Server 2008 - Quel est un moyen simple de vérifier si clr est activé ?

144voto

Jason Points 1846
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'

30 votes

Note supplémentaire : La valeur sera 1 si elle est activée, ou 0 si elle est désactivée.

0 votes

Ceci est toujours valable dans SQL 2016.

35voto

Barry Points 18913

Vérifiez le config_value dans les résultats de sp_configure

Vous pouvez activer le CLR en exécutant la commande suivante :

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

Article de MSDN sur l'activation du CLR

Article MSDN sur sp_configure

5 votes

Je ne pense pas que vous devriez réellement configurer l'option juste pour vérifier si elle est configurée ! Je réalise que cela dira was 0 now 1 ou similaire, mais...

29voto

Larry Smith Points 111

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 votes

EXISTS() est légèrement plus rapide que NOT EXISTS(). Juste une remarque amicale ;)

4 votes

Dans ce cas, je pense que la lisibilité l'emporte sur les performances, qui sont infinitésimales dans le cas d'une utilisation unique par un dba comme celui-ci.

3voto

grapefruitmoon Points 2292
select *
from sys.configurations
where name = 'clr enabled'

3voto

Le résultat correct pour moi avec 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;  

De Une erreur s'est produite dans le Microsoft .NET Framework lors de la tentative de chargement de l'assemblage id 65675.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X