Partager via


Générer et déployer des bases de données dans un environnement de développement isolé

Dans un environnement de développement isolé (souvent appelé bac à sable (sandbox)), vos coéquipiers et vous pouvez mettre à jour, générer et déployer du code de base de données sans apporter de modifications susceptibles d'entrer en conflit les unes avec les autres. Après avoir généré les données de test et exécuté des tests unitaires de base de données, vous pouvez déployer votre version du code sur un serveur intermédiaire ou de test sur lequel votre version est fusionnée avec le code des autres développeurs. Avant de déployer un projet de base de données, configurez ses propriétés en fonction du type de déploiement envisagé, soit dans un environnement de développement isolé, soit sur un serveur intermédiaire ou de production.

Configuration de votre projet de base de données pour un déploiement local

Lorsque vous configurez des propriétés de déploiement, vous pouvez identifier une connexion de base de données cible, un fichier .deploymentconfig et un fichier .sqlcmdvars spécifiques à votre environnement de développement isolé. Dans les propriétés de déploiement de votre projet de base de données, vous pouvez configurer les paramètres de votre environnement de développement isolé afin qu'ils soient différents des paramètres de déploiement stockés dans le projet de base de données. Par conséquent, vous pouvez fournir une connexion de base de données cible à votre base de données de développement isolé, un fichier .deploymentconfig différent et un fichier .sqlcmdvars différent.

Détails de la configuration du déploiement

Avant de déployer votre projet dans un environnement de développement isolé, vous devez tenir compte des points suivants :

  • Vous devrez probablement utiliser le classement du projet de base de données car, c'est la configuration la plus fréquente, votre environnement de développement doit correspondre à votre environnement intermédiaire ou de production cible.

  • Vous préférerez peut-être recréer la base de données à chaque fois car vous n'avez pas de données de production à conserver.

  • Vous souhaitez déployer les propriétés de la base de données afin de configurer votre environnement de développement de telle sorte qu'il corresponde à votre environnement intermédiaire ou de production cible.

  • Vous ne souhaitez pas sauvegarder la base de données car cette opération augmente la charge mémoire de votre déploiement et n'offre aucun avantage si vous recréez la base de données à chaque nouveau déploiement.

  • Vous ne souhaitez pas bloquer le déploiement en cas de perte de données parce que vous générez des données de test et n'utilisez pas les données de production. Si vous pensez que les modifications que vous apportez ne risquent pas de provoquer une perte de données, vous pouvez bloquer le déploiement pour tester ce comportement.

  • Vous ne souhaitez pas générer d'instructions DROP pour les objets qui se trouvent dans la base de données mais pas dans le projet de base de données. Vous avez pu exclure temporairement du projet de base de données des objets qui sont incomplets, ou vous pouvez avoir des prototypes d'objets dans la base de données cible que vous souhaitez conserver.

Variables de commande SQL

Lorsque vous déployez dans un environnement de développement isolé, les variables doivent avoir des valeurs appropriées pour cet environnement. Par exemple, vous pouvez avoir besoin de valeurs pour les Service Brokers ou les certificats de service dans votre environnement de développement qui diffèrent des valeurs utilisées dans votre environnement intermédiaire ou de production. En spécifiant un fichier .sqlcmdvars différent pour votre environnement de développement isolé, vous pouvez éviter d'avoir à modifier les valeurs de ces variables lorsque vous modifiez les cibles de déploiement. Ceci évite également d'avoir à définir votre fichier .sqlcmdvars en termes de variables MSBuild pour obtenir des valeurs spécifiques à la configuration. Vous pouvez utiliser un fichier .sqlcmdvars différent pour chaque configuration à déployer.

Déploiement de projets serveur

Lorsque vous déployez un projet de base de données, vous déployez les objets et les paramètres de la base de données. Lorsque vous déployez un projet serveur, vous déployez les objets définis dans la base de données MASTER, mais les paramètres du serveur ne sont pas modifiés. Les paramètres du serveur peuvent être ignorés, ou vous pouvez vérifier que les valeurs de tout ou partie des paramètres sur le serveur cible correspondent aux valeurs que vous spécifiez dans votre projet serveur.

Mise à part la méthode de gestion des paramètres qui est différente, vous déployez un projet serveur à l'aide des mêmes procédures que celles utilisées pour déployer un projet de base de données.

Déploiement de rôles

Vous devez déployer les rôles que vous utilisez dans votre base de données sur tous les serveurs sur lesquels vous déployez la base de données. Toutefois, vous pouvez limiter le nombre d'utilisateurs que vous devez associer à chaque rôle dans votre environnement de développement. En général, vous devez disposer d'au moins un utilisateur pour chaque rôle pour le test, mais il n'est pas nécessaire de déployer un jeu complet d'utilisateurs dans votre environnement de développement isolé.

Déploiement à partir de la ligne de commande

Vous pouvez déployer un projet de base de données à partir d'une invite de commandes sur un ordinateur sur lequel Visual Studio n'est pas installé, à condition d'installer au préalable les éléments suivants :

  • Microsoft .NET Framework version 4

  • Objets de gestion SQL Server (SMO)

    Ces objets doivent être installés sur tout ordinateur sur lequel SQL Server est installé.

En plus de respecter ces conditions préalables, vous devez transférer les fichiers suivants sur cet ordinateur, en les copiant éventuellement en premier lieu sur un lecteur USB :

  • Sortie de génération de votre projet de base de données (version de débogage ou commerciale)

  • Contenu du dossier Deploy pour Visual Studio

    Ce dossier se situe généralement sous [Program Files] \VSTSDB\Deploy.

  • Assemblys pour SQL Server Compact Edition

Après avoir installé les éléments requis et transféré les fichiers, vous pouvez déployer le projet de base de données (sous la forme du fichier .dbschema) dans une base de données cible.

Données de référence

Vous pouvez ajouter des instructions au script de post-déploiement dans votre projet de base de données pour remplir une ou plusieurs tables avec les données de référence. Pour plus d'informations, consultez Ajouter des données de référence à des tables lors du déploiement de la base de données.

Vous pouvez également comparer votre base de données déployée à une base de données contenant les données de référence si vous souhaitez synchroniser une ou plusieurs tables. Pour plus d'informations, consultez Comparer et synchroniser les données d'une ou de plusieurs tables avec les données d'une base de données de référence.

Tâches courantes

Dans le tableau suivant, vous pouvez trouver les descriptions des tâches courantes qui prennent en charge ce scénario, ainsi que des liens pointant vers des informations supplémentaires sur la façon dont vous pouvez mener à bien ces tâches.

Tâche

Rubriques de prise en charge

Découvrir la génération et le déploiement : avant de configurer, générer et déployer votre premier projet de base de données, vous devrez éventuellement apprendre à utiliser des projets de base de données dans un environnement de travail en équipe. Vous pouvez également améliorer votre compréhension du processus de génération et de déploiement et découvrir l'ensemble des propriétés et paramètres qui contrôlent la manière dont votre projet est généré et déployé.

Apprendre en faisant : en suivant les premières procédures pas à pas, vous découvrirez rapidement l'intégralité du processus, de la création d'un environnement de développement isolé à l'établissement d'une planification initiale en passant par la réalisation d'un développement itératif.

Déployer des objets terminés uniquement : vous pouvez exclure les fichiers qui contiennent les définitions des objets de base de données que vous n'êtes pas prêt à déployer ou tester.

Configurer le projet pour la génération : vous pouvez configurer les paramètres qui contrôlent le processus de génération de votre projet de base de données. Par exemple, vous pouvez spécifier que les avertissements doivent être traités comme des erreurs.

Configurer le projet pour le déploiement :

  • Vous pouvez configurer le déploiement de n'importe quelle configuration de build en associant une configuration à une base de données cible, un fichier qui contient les détails du déploiement, et un fichier qui contient les variables qui affectent le déploiement.

  • Vous pouvez contrôler les détails du déploiement en modifiant le fichier qui contient ces détails (.deploymentconfig).

  • Vous pouvez personnaliser des variables de manière à utiliser différents Service Brokers ou certificats de service dans chaque déploiement.

  • Vous pouvez contrôler si les propriétés du serveur et de la base de données sont à jour lorsque vous déployez le projet, ainsi que les valeurs que ces propriétés doivent avoir.

Remplir les tables de référence ou de recherche : vous pouvez ajouter des données de référence aux tables lorsque vous déployez votre projet de base de données. Vous pouvez choisir de procéder ainsi pour les tables qui contiennent des données qui changent rarement, telles que les informations d'expéditeur.

Générer votre projet de base de données : vous pouvez générer votre projet de base de données dans Visual Studio ou à partir d'une invite de commandes avec MSBuild. Vous pouvez configurer le nombre maximal d'erreurs ou d'avertissements et supprimer des avertissements si vous souhaitez les ignorer. Vous pouvez réaliser des opérations dans le cadre de la génération, juste avant ou juste après la génération du projet de base de données.

Déployer votre projet de base de données : vous pouvez déployer votre projet de base de données dans Visual Studio, en utilisant MSBuild ou en utilisant l'outil en ligne de commande VSDBCMD pour mettre à jour la base de données ou le serveur cible. Avant d'archiver les modifications apportées à votre projet de base de données, vous pouvez également tester si la génération et le déploiement ont réussi pour l'ensemble de l'équipe.

Résoudre les problèmes : vous pouvez en savoir plus sur la résolution des problèmes de génération et de déploiement les plus fréquents, tels que les problèmes d'attribution de nouveaux noms aux projets et assemblys du common language runtime (CLR) SQL.

Étapes suivantes

Avant d'archiver vos modifications, envisagez d'exécuter des tests unitaires de base de données pour vérifier si votre base de données fonctionne comme prévu. Vous pouvez écrire des tests supplémentaires pour vérifier tout le code que vous avez écrit. Éventuellement, vous pouvez déployer le projet et générer des données de test lorsque vous effectuez les tests. Pour plus d'informations, consultez Vérification du code de base de données à l'aide de tests unitaires.

Scénarios associés

Générer et déployer des bases de données dans un environnement de pré-production ou de production

Démarrage du développement en équipe de bases de données

Démarrage du développement en équipe de bases de données faisant référence à d'autres bases de données

Démarrage du développement en équipe de bases de données faisant référence à des objets serveur partagés

Démarrage du développement en équipe de bases de données faisant référence à des objets SQLCLR

Voir aussi

Concepts

Création et modification des objets de base de données et serveur

Démarrage du développement de bases de données en équipe