web-dev-qa-db-fra.com

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

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

79
magnattic
SELECT * FROM sys.configurations
WHERE name = 'clr enabled'
121
Jason

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

Vous pouvez activer le CLR en lançant:

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

Article MSDN sur l'activation de CLR

Article MSDN sur sp_configure

33
codingbadger

La réponse acceptée nécessite un peu de clarification. La ligne sera là si le CLR est activé ou désactivé. La valeur sera 1 si activé, ou 0 si désactivé. 

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
26
Larry Smith
select *
from sys.configurations
where name = 'clr enabled'
3
grapefruitmoon

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 Microsoft .NET Framework lors de la tentative de chargement de l'identifiant d'assembly 65675

1

Ceci 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

0
Mason Schmidgall