Génération d'objets de base de données à l'aide de l'intégration du CLR (Common Language Runtime)

S’applique à :SQL Server

Vous pouvez créer des objets de base de données à l’aide de l’intégration SQL Server au CLR (Common Language Runtime) .NET Framework. Le code managé qui s’exécute à l’intérieur de Microsoft SQL Server est appelé « routine CLR ». Ces routines sont les suivantes :

  • 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 publiques statiques (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 a une déclaration Transact-SQL et peut être utilisé n’importe où dans SQL Server que 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 série. Lorsqu’elle est exécutée sur une version de serveur antérieure à SQL Server 2008 (10.0.x), si une fonction définie par l’utilisateur contient des paramètres métier ou des valeurs de retour, l’exécution doit également être effectuée sur un plan série.

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 des objets à l’aide de l’intégration du CLR à 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 des 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.

Voir aussi

Vue d'ensemble de l'intégration du CLR (Common Language Runtime)