clr enabled (option de configuration de serveur)

S’applique à :SQL Server

L'option clr enabled permet de spécifier si des assemblys utilisateur peuvent être exécutés par SQL Server. L'option clr enabled fournit les valeurs suivantes :

Valeur Description
0 L'exécution de l'assembly n'est pas autorisée sur SQL Server.
1 L'exécution de l'assembly est autorisée sur SQL Server.

Pour WOW64 uniquement : redémarrez les serveurs WOW64 pour appliquer ces modifications. Le redémarrage n’est pas nécessaire pour les autres types de serveurs.

Quand vous exécutez l’instruction RECONFIGURE et que la valeur d’exécution de l’option clr enabled enabled est 0 et non plus 1, tous les domaines d’application contenant des assemblys utilisateur sont immédiatement déchargés.

Important

L’exécution de CLR (Common language runtime) n’est pas prise en charge sous le regroupement léger Désactivez l’une des deux options : « clr activé » ou « regroupement léger ». Les fonctionnalités qui reposent sur le CLR et qui ne fonctionnent pas correctement en mode fibre incluent le type de données hierarchyid, la fonction FORMAT, la réplication et la gestion basée sur des stratégies. Pour plus d’informations, consultez Option de configuration du serveur de regroupement léger.

Avertissement

CLR utilise la sécurité d’accès du code (CAS) dans le .NET Framework, qui n’est plus pris en charge comme limite de sécurité. Un assembly CLR créé avec PERMISSION_SET = SAFE peut être en mesure d’accéder à des ressources système externes, d’appeler du code non managé et d’acquérir des privilèges sysadmin. À compter de SQL Server 2017 (14.x), une option de sp_configure appelée clr strict security est introduite pour renforcer la sécurité des assemblys CLR. clr strict security est activée par défaut et traite les assemblys SAFE et EXTERNAL_ACCESS comme s’ils étaient marqués UNSAFE. L’option clr strict security peut être désactivée pour assurer une compatibilité descendante, mais ceci n’est pas recommandé. Microsoft recommande que tous les assemblys soient signés par un certificat ou une clé asymétrique avec une connexion correspondante à laquelle a été accordée l’autorisation UNSAFE ASSEMBLY dans la base de données master. Les administrateurs SQL Server peuvent également ajouter des assemblys à une liste d’assemblys, que le moteur de base de données doit approuver. Pour plus d’informations, consultez sys.sp_add_trusted_assembly.

Notes

Bien que l’option de configuration clr enabled soit activée dans Azure SQL Database, le développement de fonctions utilisateur CLR n’est pas pris en charge dans Azure SQL Database.

Exemples

L'exemple suivant affiche tout d'abord le paramètre actuel de l'option clr enabled, puis active l'option en lui attribuant la valeur 1. Pour désactiver l'option, affectez-lui la valeur 0.

EXEC sp_configure 'clr enabled';  
EXEC sp_configure 'clr enabled' , '1';  
RECONFIGURE;    

Étapes suivantes