Génération d'objets de base de données à l'aide de l'intégration du CLR (Common Language Runtime)
Vous pouvez générer des objets de base de données à l'aide de l'intégration de SQL Server avec le CLR (Common Language Runtime) .NET Framework. Le code managé qui s'exécute au sein de Microsoft SQL Server est appelé « routine CLR ». Ces routines incluent :
Fonctions scalaires définies par l'utilisateur (fonctions UDF scalaires)
Fonctions table définies par l'utilisateur (TVF)
Procédures définies par l'utilisateur (UDP)
Déclencheurs définis par l'utilisateur
Les routines CLR ont la même structure en code managé. Elles sont mappées à des méthodes statiques publiques (partagées dans Microsoft Visual Basic .NET) d'une classe. Outre les routines, les types définis par l'utilisateur (UDT) et les fonctions d'agrégation définies par l'utilisateur peuvent également être définies à l'aide du .NET Framework. Les types UDT et les agrégats définis par l'utilisateur sont mappés à des classes .NET Framework entières.
Chaque type de routine .NET Framework possède une déclaration Transact-SQL et peut être utilisé partout dans SQL Server où l'équivalent Transact-SQL peut être utilisé. Par exemple, les fonctions UDF scalaires peuvent être utilisées dans toute expression scalaire. Une fonction TVF peut être utilisée dans toute clause FROM. Une procédure peut être appelée dans une instruction EXEC ou à partir d'une application cliente.
Notes
L'exécution d'un objet CLR (fonction définie par l'utilisateur, type défini par l'utilisateur ou déclencheur) sur le Common Language Runtime peut concerner plusieurs threads (plan parallèle), si l'optimiseur de requêtes décide que cela est nécessaire. Toutefois, si une fonction définie par l'utilisateur accède aux données, l'exécution se fera sur un plan en série. En cas d'exécution sur une version serveur antérieure à SQL Server 2008, si une fonction définie par l'utilisateur contient des paramètres LOB ou des valeurs de retour, l'exécution doit également se faire sur un plan en série. Pour plus d'informations, consultez Traitement de requêtes en parallèle.
Notez que Visual Studio .NET 2003 ne peut pas être utilisé pour la programmation de l'intégration du CLR. SQL Server inclut le .NET Framework préinstallé et Visual Studio .NET 2003 ne peut pas utiliser les assemblys .NET Framework 2.0.
Le tableau ci-dessous répertorie les rubriques traitées dans cette section.
Mise en route avec l'intégration du CLR
Fournit une brève vue d'ensemble des bibliothèques et des espaces de noms requis pour compiler l'objet en utilisant l'intégration du CLR avec SQL Server. Inclut un exemple de procédure stockée CLR "Hello World".Bibliothèques .NET Framework prises en charge
Fournit des informations sur les bibliothèques .NET Framework prises en charge par l'intégration du CLR.Restrictions du modèle de programmation de l'intégration du CLR
Fournit des informations sur les restrictions du modèle de programmation de l'intégration du CLR.Types de données SQL Server dans le .NET Framework
Vue d'ensemble de types de données SQL Server et de leurs équivalents .NET Framework.Vue d'ensemble des attributs personnalisés de l'intégration du CLR
Fournit des informations sur les attributs personnalisés de l'intégration du CLR.Fonctions CLR définies par l'utilisateur
Explique comment implémenter et utiliser les différents types de fonctions CLR : fonctions table, scalaires et d'agrégation définies par l'utilisateur.Types CLR définis par l'utilisateur
Explique comment implémenter et utiliser les types CLR définis par l'utilisateur.Procédures stockées du CLR
Explique comment implémenter et utiliser les procédures stockées CLR.Déclencheurs CLR
Explique comment implémenter et utiliser les déclencheurs CLR.