Share via


Comment : déployer des modifications vers des bases de données nouvelles ou existantes

Mise à jour : novembre 2007

Après avoir apporté des modifications au projet de base de données, vous devez déployer ces modifications vers le serveur de base de données en exécutant un script de compilation. Lorsque vous générez le script de compilation, le schéma de projet de base de données est comparé à la base de données cible spécifiée dans les propriétés de projet. Si la base de données cible existe, un script de mise à jour est créé à moins que vous ne décidiez de toujours recréer la base de données. Si la base de données cible n'existe pas ou si vous avez choisi de toujours recréer la base de données, le script de compilation crée une base de données. Si le projet de base de données, ses propriétés ou son contenu ont changé depuis la dernière génération ou le dernier déploiement, vous générez alors un script de compilation à jour lors du prochain déploiement du projet.

Remarque importante :

Avant de générer ou déployer le projet de base de données, vous devez définir les propriétés du projet pour spécifier la connexion à la base de données cible et le nom de la base de données. Si vous avez généré le projet de base de données en utilisant l'Assistant Nouveau projet de base de données, vous avez peut-être déjà spécifié vos propriétés de projet. Vous pouvez modifier les propriétés du projet à tout moment. Pour plus d'informations, consultez Comment : configurer des projets de base de données pour la génération et le déploiement.

Pour déployer le projet de base de données vers une base de données nouvelle ou existante

  1. Dans l'Explorateur de solutions, cliquez sur le projet de base de données à déployer.

    Si vous avez créé une configuration personnalisée, vous pouvez spécifier qu'elle doit être utilisée en cliquant sur son nom dans la liste Configurations de solutions dans la barre d'outils Standard. Par défaut, vous avez une seule configuration pour votre projet de base de données et elle est déjà sélectionnée.

  2. Dans le menu Générer, cliquez sur Déployer.

    Le script de compilation pour le projet de base de données est généré (s'il n'existe pas ou n'est pas à jour), puis déployé. La fenêtre Sortie affiche les résultats du déploiement, qui se présentent comme suit :

------ Début de la génération : Projet : ProjetBaseDeDonnées, Configuration : Par défaut Any CPU ------

Génération du script de déploiement pour NomBaseDeDonnéesCible : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss

ProjetBaseDeDonnées --> file:///LecteurProjet:/Documents%20and%20Settings/NomUtilisateur/My%20Documents/Visual%20Studio%202005/Projects/NomSolution/ProjetBaseDeDonnées/sql/ProjetBaseDeDonnées.NomServeurCible_NomInstanceCible.NomBaseDeDonnéesCible.sql

------ Début du déploiement : Projet : ProjetBaseDeDonnées, Configuration : Par défaut Any CPU ------

Script de déploiement LecteurProjet:\Documents and Settings\NomUtilisateur\My Documents\Visual Studio 2005\Projets\NomSolution\ProjetBaseDeDonnées\sql\ProjetBaseDeDonnées.NomServeurCible_NomInstanceCible.NomBaseDeDonnéesCible.sql vers le serveur NomServeurCible\NomInstanceCible

file:///LecteurProjet:/Documents%20and%20Settings/NomUtilisateur\My%20Documents/Visual%20Studio%202005/Projects/NomSolution/ProjetBaseDeDonnées/sql/ProjetBaseDeDonnées.NomServeurCible_NomInstanceCible.NomBaseDeDonnéesCible.sql --> Serveur : "NomServeurCible\NomInstanceCible", Base de données : "NomBaseDeDonnéesCible"

========== Génération : 1 a réussi ou est à jour, 0 a échoué, 0 a été ignoré ==========

========== Déploiement : 1 a réussi, 0 a échoué, 0 a été ignoré ==========

Pour déployer le projet de base de données vers une base de données nouvelle ou existante à partir de la ligne de commande

  1. Ouvrez une fenêtre Invite de commandes.

  2. Naviguez jusqu'au répertoire de votre projet.

  3. À l'invite de commandes, tapez l'exemple de ligne de commande suivant pour générer un script de compilation (où ProjetBaseDeDonnées est le nom de votre projet) :

    MSBuild /t:Build ProjetBaseDeDonnées.dbproj

    Remarque :

    MSBuild.exe doit se trouver dans le chemin d'accès spécifié par votre variable d'environnement PATH. De plus, vous devez spécifier NomBaseDeDonnéesCible et ChaîneConnexionCible dans le projet de base de données ou dans le cadre de la ligne de commande. Pour plus d'informations sur la syntaxe de ligne de commande pour la génération de scripts de compilation, consultez Vue d'ensemble de la génération et du déploiement d'une base de données.

    Des résultats semblables aux suivants s'affichent :

Microsoft (R) Build Engine Version 3.5.20418.0

[Microsoft .NET Framework, Version 2.0.50727.1318]

Copyright (C) Microsoft Corporation 2007. All rights reserved.

Build started 5/3/2007 2:27:39 PM.

__________________________________________________

Project "ProjectDrive:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\ProjetBaseDeDonnées\ProjetBaseDeDonnées.dbproj" (Build target(s)):

Target SqlBuild:

Building deployment script for NomBaseDeDonnéesCible : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss

. ProjetBaseDeDonnées --> file:///LecteurProjet:/Documents%20and%20Settings/UserName/My%20Documen

ts/Visual%20Studio%202005/Projects/SolutionName/ProjetBaseDeDonnées/sql/ProjetBaseDeDonnées.NomServeurCible_NomInstanceCible.NomBaseDeDonnéesCible.sql

Build succeeded.

0 Warning(s)

0 Error(s)

Time Elapsed 00:00:05.01

  1. À l'invite de commandes, tapez l'exemple de ligne de commande suivant pour déployer le script de compilation que vous avez généré à l'étape 3 :

    MSBuild /t:Deploy ProjetBaseDeDonnées.dbproj

    Des résultats semblables aux suivants s'affichent :

    Microsoft (R) Build Engine Version 3.5.20418.0

    [Microsoft .NET Framework, Version 2.0.50727.1318]

    Copyright (C) Microsoft Corporation 2007. All rights reserved.

    Build started 5/3/2007 2:27:39 PM.

    __________________________________________________

    Project "ProjectDrive:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\ProjetBaseDeDonnées\ProjetBaseDeDonnées.dbproj" (Deploy target(s)):

    Target SqlDeploy:

    Deploying script LecteurProjet:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\ProjetBaseDeDonnées\sql\ProjetBaseDeDonnées.NomServeurCible_NomInstanceCible.NomBaseDeDonnéesCible.sql to server NomServeurCible\NomInstanceCible

    file:///LecteurProjet:/Documents%20and%20Settings/UserName/My%20Documents/Visual%20Studio%202005/Projects/SolutionName/ProjetBaseDeDonnées/sql/ProjetBaseDeDonnées.NomServeurCible_NomInstanceCible.NomBaseDeDonnéesCible.sql --> Server:"NomServeurCible\NomInstanceCible", Database:"NomBaseDeDonnéesCible"

    Build succeeded.

    0 Warning(s)

    0 Error(s)

    Time Elapsed 00:00:02.56

Déploiement vers plusieurs bases de données ou plusieurs serveurs

Vous pouvez déployer votre schéma vers plusieurs bases de données ou plusieurs serveurs. Si vous effectuez un déploiement vers un petit nombre de serveurs ou de bases de données qui ne changent pas (par exemple si vous voulez effectuer un déploiement à la fois vers votre serveur de déploiement personnel et vers un serveur intermédiaire), vous pouvez créer plusieurs configurations de génération. Chaque configuration de génération peut avoir un serveur ou une base de données cible différent. Si vous devez effectuer un déploiement vers un plus grand nombre de serveurs ou si les noms du serveur ou de la base de données cible changent régulièrement, vous devez utiliser une approche différente. Ces approches sont décrites ci-dessous.

Pour créer plusieurs configurations de génération afin d'effectuer un déploiement vers plusieurs serveurs ou bases de données

  1. Ouvrez votre projet de base de données dans Visual Studio Team System Database Edition.

  2. Dans le menu Générer, choisissez Gestionnaire de configurations

    La boîte de dialogue Gestionnaire de configurations s'affiche.

  3. Dans la liste Configuration de la solution active, cliquez sur <Nouveau>.

    La boîte de dialogue Nouvelle configuration de solution s'affiche.

  4. Dans Nom, tapez le nom de votre première configuration de serveur.

  5. Si des propriétés de projet étaient déjà configurées dans la configuration Par défaut, dans la liste Copier les paramètres à partir de, cliquez sur Par défaut.

  6. Cliquez sur OK.

  7. Dans la zone de liste Configuration de la solution active, cliquez sur <Nouveau>.

    La boîte de dialogue Nouvelle configuration de solution s'affiche.

  8. Dans Nom, tapez le nom de votre seconde configuration de serveur.

  9. Si des propriétés de projet étaient déjà configurées dans la configuration Par défaut, dans la liste Copier les paramètres à partir de, cliquez sur Par défaut.

  10. Cliquez sur Fermer.

  11. Cliquez avec le bouton droit sur le nœud de votre base de données dans l'Explorateur de solutions, puis cliquez sur Propriétés.

  12. Cliquez sur l'onglet Générer.

  13. Dans Configuration, cliquez sur le nom de votre première configuration de serveur.

  14. Modifiez la connexion cible et le nom de la base de données pour qu'ils correspondent à votre première configuration de serveur.

  15. Dans Configuration, cliquez sur le nom de votre seconde configuration de serveur.

  16. Modifiez la connexion cible et le nom de la base de données pour qu'ils correspondent à votre seconde configuration de serveur.

  17. Dans le menu Fichier, cliquez sur Enregistrer les éléments sélectionnés pour enregistrer vos paramètres de configuration.

    Vous pouvez à présent spécifier une configuration dans la barre d'outils Standard, puis générer ou déployer cette configuration.

Pour effectuer un déploiement vers des bases de données à partir de la ligne de commande

  • Dans une fenêtre Invite de commandes, déployez le script de compilation en tapant la ligne de commande suivante (en remplaçant le nom du script de compilation, le nom du serveur et le nom de la base de données cible par les valeurs appropriées).

    MSBuild /t:Deploy /p:TargetDatabase=NomBaseDeDonnéesCible /p:BuildScriptName=VotreScriptDeGénération.sql NomProjetBaseDeDonnées.dbproj

    Remarque :

    Pour effectuer un déploiement vers plusieurs serveurs, vous devez substituer la propriété définissant la chaîne de connexion cible en spécifiant ce qui suit dans une fenêtre d'invite de commandes : /p:TargetConnectionString="Data Source=NomServeur;Integrated Security=True;Pooling=False".

Sécurité

Vous devez avoir les autorisations nécessaires pour créer la base de données (pour les nouveaux déploiements) ainsi que pour créer, modifier et supprimer les objets de schéma dans cette base de données pour déployer le projet de base de données.

Voir aussi

Tâches

Comment : préparer des scripts de compilation de base de données

Concepts

Vue d'ensemble de la génération et du déploiement d'une base de données

Vue d'ensemble des paramètres de projet de base de données

Vue d'ensemble de la terminologie de Database Edition

Autres ressources

Procédures pas à pas (création et mise à jour de schémas de base de données sous contrôle de version)