Partager via


Déployer des objets de base de données CLR

S'applique à :SQL Server

Le déploiement est le processus selon lequel une application ou un module fini est distribué en vue de son installation et de son exécution sur un autre ordinateur. À l’aide de Visual Studio, vous pouvez développer des objets de base de données CLR (Common Language Runtime) et les déployer sur un serveur de test. Vous pouvez également compiler les objets de base de données managés avec les fichiers de redistribution .NET Framework, au lieu de Visual Studio. Une fois compilés, les assemblys contenant les objets de base de données CLR peuvent ensuite être déployés sur un serveur de test à l’aide d’instructions Visual Studio ou Transact-SQL.

Une fois que les méthodes CLR sont 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 (décrit plus loin dans cet article).

La fonctionnalité d’intégration CLR est désactivée par défaut dans SQL Server et doit être activée pour utiliser des assemblys CLR. Pour plus d’informations, consultez Activer l’intégration clR.

Déployer l’assembly sur le serveur de test

À l'aide de Visual Studio, vous pouvez développer des fonctions, procédures, déclencheurs, types définis par l'utilisateur (UDT) ou agrégats définis par l'utilisateur (UDA) CLR et les déployer sur un serveur de test. Ces objets de base de données managés peuvent également être compilés avec les compilateurs de ligne de commande, tels que csc.exe et vbc.exe, inclus avec les fichiers de redistribution .NET Framework. L’environnement de développement intégré Visual Studio n’est pas nécessaire pour développer des objets de base de données managés pour SQL Server.

Assurez-vous que toutes les erreurs et avertissements du compilateur sont résolus. Les assemblys contenant les routines CLR peuvent ensuite être inscrits dans une base de données SQL Server à l’aide d’instructions Visual Studio ou Transact-SQL.

Remarque

Le protocole réseau TCP/IP doit être activé sur l’instance SQL Server afin d’utiliser Visual Studio pour le développement à distance, le débogage et le développement. Pour plus d’informations sur l’activation du protocole TCP/IP sur le serveur, consultez Configurer des protocoles clients.

Déployer l’assembly à l’aide de Visual Studio

  1. Générez le projet en sélectionnant nom de projet Générer dans le menu Générer .

  2. Résolvez tous les avertissements et erreurs de build avant de déployer l'assembly sur le serveur de test.

  3. Sélectionnez Déployer dans le menu Générer . L’assembly est ensuite inscrit dans l’instance et la base de données SQL Server spécifiées lorsque le projet SQL Server a été créé pour la première fois dans Visual Studio.

Déployer l’assembly à l’aide de Transact-SQL

  1. Compilez l'assembly à partir du fichier source à l'aide des compilateurs de ligne de commande fournis avec le .NET Framework.

  2. Pour les fichiers sources C# :

    csc /target:library C:\helloworld.cs

  3. Pour les fichiers sources Visual Basic :

    vbc /target:library C:\helloworld.vb

Ces commandes lancent le compilateur C# ou Visual Basic à l’aide de l’option /target pour spécifier la génération d’une DLL de bibliothèque.

  1. Résolvez tous les avertissements et erreurs de build avant de déployer l'assembly sur le serveur de test.

  2. Ouvrez SQL Server Management Studio sur le serveur de test. Créez une requête connectée à une base de données de test appropriée (par exemple, AdventureWorks2022).

  3. Créez l’assembly dans le serveur en ajoutant le transact-SQL suivant à la requête.

    CREATE ASSEMBLY HelloWorld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE;

  4. La procédure, la fonction, l’agrégat, le type défini par l’utilisateur ou le déclencheur doivent ensuite être créés dans l’instance de SQL Server. Si l’assembly HelloWorld contient une méthode nommée HelloWorld dans la classe Procedures, la Transact-SQL suivante peut être ajoutée à la requête pour créer une procédure appelée hello dans SQL Server.

    CREATE PROCEDURE hello AS
    EXTERNAL NAME HelloWorld.Procedures.HelloWorld;
    

Pour plus d’informations sur la création des différents types d’objets de base de données managés dans SQL Server, consultez :

Déployer l’assembly sur des serveurs de production

Une fois que les objets de base de données CLR sont testés et vérifiés sur le serveur de test, ils peuvent être distribués aux serveurs de production. Pour plus d’informations sur le débogage d’objets de base de données managés, consultez Guide pratique pour déboguer des objets de base de données CLR.

Le déploiement d’objets de base de données managés est similaire à celui des objets de base de données standard (tables, routines Transact-SQL, etc.). Les assemblys contenant les objets de base de données CLR peuvent être déployés sur d'autres serveurs à l'aide d'un script de déploiement. Le script de déploiement peut être généré à l’aide de la Générer des scripts fonctionnalités de Management Studio. Le script de déploiement peut également être généré manuellement ou généré à l’aide de Générer des scripts et modifié manuellement. Une fois le script de déploiement généré, il peut être exécuté sur d’autres instances de SQL Server pour déployer les objets de base de données managés.

Générer un script de déploiement à l’aide de générer des scripts

  1. Ouvrez Management Studio et connectez-vous à l’instance SQL Server où l’assembly managé ou l’objet de base de données à déployer est inscrit.

  2. Dans l’Explorateur d’objets, développez le<> du serveur et les arborescences Bases de données. Cliquez avec le bouton droit sur la base de données dans laquelle l’objet de base de données managée est inscrit, sélectionnez Tâches, puis sélectionnez Générer des scripts. L'Assistant Script s'ouvre.

  3. Sélectionnez la base de données dans la zone de liste et sélectionnez suivant .

  4. Dans le volet Choisir les options de script, sélectionnez suivant, ou modifiez les options, puis sélectionnez suivant.

  5. Dans le volet Choisir des types d’objets, choisissez le type d’objet de base de données à déployer. Cliquez sur Suivant.

  6. Pour chaque type d’objet sélectionné dans le volet Choisir des types d’objets, un volet Choisir <un type> est présenté. Dans ce volet, vous pouvez choisir parmi toutes les instances de ce type d'objet de base de données inscrites dans la base de données spécifiée. Sélectionnez un ou plusieurs objets, puis suivant.

  7. Le volet Options de sortie apparaît lorsque tous les types d’objets de base de données souhaités sont sélectionnés. Sélectionnez Script à fichier et spécifiez un chemin d’accès de fichier pour le script. Cliquez sur Suivant. Passez en revue vos sélections et sélectionnez Terminer. Le script de déploiement est enregistré dans le chemin d'accès relatif spécifié.

Scripts post-déploiement

Vous pouvez exécuter un script de post-déploiement.

Pour ajouter un script de post-déploiement, ajoutez un fichier nommé postdeployscript.sql dans votre répertoire de projet Visual Studio. Par exemple, cliquez avec le bouton droit sur votre projet dans Explorateur de solutions, puis sélectionnez Ajouter un élément existant. Ajoutez le fichier à la racine du projet, plutôt que dans le dossier Scripts de test.

Lorsque vous sélectionnez déployer, Visual Studio exécute ce script après le déploiement de votre projet.