Partager via


Intégration du CLR dans SQL Server : Présentation

Le Common Language Runtime (CLR) est le cœur du .NET Framework et fournit l’environnement d’exécution pour tout le code .NET Framework. Le code qui s’exécute dans le CLR est appelé code managé. Le CLR fournit divers fonctions et services requis pour l'exécution du programme, y compris la compilation juste-à-temps (JIT), l'allocation et la gestion de la mémoire, la mise en application de la cohérence des types, la gestion des exceptions, la gestion des threads et la sécurité.

Avec le CLR hébergé dans Microsoft SQL Server (appelé intégration CLR), vous pouvez créer des procédures stockées, des déclencheurs, des fonctions définies par l’utilisateur, des types définis par l’utilisateur et des agrégats définis par l’utilisateur dans le code managé. Étant donné que le code managé se compile en code natif avant l’exécution, vous pouvez obtenir des augmentations significatives des performances dans certains scénarios.

Le code managé exécuté sur .NET Framework utilise la sécurité d’accès au code (CAS), les liens de code et les domaines d’application pour empêcher les assemblys d’effectuer certaines opérations. SQL Server utilise le service d’administration centrale pour sécuriser le code managé et empêcher la compromission du système d’exploitation ou du serveur de base de données.

Remarque

La sécurité de l’accès au code (CAS) a été déconseillée dans toutes les versions de .NET Framework et .NET. Les versions récentes de .NET n’honorent pas les annotations CAS et produisent des erreurs si les API associées à CAS sont utilisées. Les développeurs doivent rechercher d’autres moyens d’accomplir des tâches de sécurité.

Cette section est destinée à fournir suffisamment d’informations pour démarrer la programmation avec l’intégration du CLR SQL Server et n’est pas destinée à être complète. Pour plus d’informations, consultez Common Language Runtime (CLR) Integration Overview.

Activation de l'intégration du CLR

La fonctionnalité d’intégration CLR (Common Language Runtime) est désactivée par défaut dans Microsoft SQL Server et doit être activée pour utiliser des objets implémentés à l’aide de l’intégration CLR. Pour activer l’intégration du CLR à l’aide de Transact-SQL, utilisez l’option clr enabled de la sp_configure procédure stockée comme indiqué :

sp_configure 'clr enabled', 1  
GO  
RECONFIGURE  
GO  

Vous pouvez désactiver l'intégration de CLR en attribuant à l'option clr enabled la valeur 0. Lorsque vous désactivez l’intégration clR, SQL Server arrête d’exécuter toutes les routines CLR et décharge tous les domaines d’application.

Pour plus d’informations, consultez Activation de l’intégration clR.

Déploiement d'un assembly CLR

Une fois que les méthodes CLR ont été testées et vérifiées sur le serveur de test, elles peuvent être distribuées aux serveurs de production à l’aide d’un script de déploiement. Le script de déploiement peut être généré manuellement ou à l’aide de SQL Server Management Studio. Pour plus d’informations, consultez la version de la documentation DE SQL Server pour la version de SQL Server que vous utilisez.

Documentation SQL Server

  1. Déploiement d’objets de base de données CLR

Sécurité de l'intégration du CLR

Le modèle de sécurité de l’intégration de Microsoft SQL Server à Microsoft .NET Framework Common Language Runtime (CLR) gère et sécurise l’accès entre différents types d’objets CLR et non CLR exécutés dans SQL Server. Ces objets peuvent être appelés par une instruction Transact-SQL ou un autre objet CLR s’exécutant sur le serveur.

Pour plus d’informations, consultez CLR Integration Security.

Débogage d'un assembly CLR

Microsoft SQL Server prend en charge le débogage Transact-SQL et les objets CLR (Common Language Runtime) dans la base de données. Le débogage fonctionne dans plusieurs langages : les utilisateurs peuvent passer en toute transparence aux objets CLR à partir de Transact-SQL, et inversement.

Pour plus d’informations, consultez Débogage des objets de base de données CLR.

Voir aussi