Procédure pas à pas : comparaison des schémas d'une base de données et d'un projet de base de données
Mise à jour : novembre 2007
Dans cette procédure pas à pas, vous comparez le schéma d'un projet de base de données à celui d'une base de données à l'aide de Visual Studio Team System Database Edition.
Selon la façon dont votre équipe utilise le projet de base de données et la base de données, vous pouvez ensuite copier des modifications de schéma dans un sens ou dans l'autre. Les scénarios suivants sont classiques :
Le projet est la source et la base de données est la cible. Vous pouvez utiliser un projet de base de données pour développer ou gérer une base de données. Après avoir apporté des modifications de schéma dans le projet, vous les copiez dans la base de données qui est hébergée sur un serveur intermédiaire. Ultérieurement, votre équipe pourrait déployer la base de données vers un serveur de production.
L'action de comparaison de schémas que vous exécutez dans cette procédure pas à pas génère un script de langage de définition de données (DDL) à partir des différences de schéma. Vous pouvez ensuite utiliser ce script pour appliquer l'ensemble ou une partie du projet de base de données à la base de données. Pour plus d'informations, consultez Propager les modifications du projet vers la base de données.
La base de données est la source et le projet est la cible. Une erreur peut se produire dans le schéma d'une base de données de production, ou le schéma peut devenir obsolète et nécessiter une mise à jour. Cette découverte peut provoquer l'application d'une mise à jour urgente à la base de données. Pour que le projet reste synchronisé avec la base de données, vous pouvez ensuite importer les modifications de schéma qui ont été provoquées par la mise à jour urgente dans un projet de base de données. Pour plus d'informations, consultez Comment : importer des mises à jour d'une base de données vers le projet de base de données.
Cette procédure pas à pas illustre les tâches suivantes :
Phase d'installation
Créer un projet de base de données. Le nouveau projet commence en étant vide.
Comparer le schéma de base de données au schéma de projet. Dans cette comparaison, vous désignez le projet de base de données comme la source et la base de données comme la cible. Une fois la comparaison terminée, cette configuration vous permet d'écrire des mises à jour de schéma à partir du projet de base de données vers la base de données.
Remarque : Vous pouvez également propager des modifications d'une base de données source à un projet de base de données cible. Pour plus d'informations, consultez Comment : importer des mises à jour d'une base de données vers le projet de base de données.
Importer le schéma de la base de données dans le projet. La base de données et le projet ont maintenant des schémas identiques.
Phase de production
Ajouter une table au projet de base de données. Vous ajouterez une table appelée InternationalShippers, qui a trois colonnes.
Comparer à nouveau les deux schémas. La table InternationalShippers apparaît comme nouvelle dans le projet de base de données.
Propager les modifications du projet vers la base de données. Vous pouvez choisir de propager la nouvelle table InternationalShippers vers la base de données Northwind. Le suivi de cette procédure remplacerait des parties de l'exemple de base de données Northwind.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez disposer de la configuration suivante :
Microsoft SQL Server 2000 ou Microsoft SQL Server 2005
Microsoft Visual Studio 2005 avec Database Edition
Base de données Northwind
Phase d'installation
Créer un projet de base de données
Pour créer un projet de base de données
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Fichier.
La boîte de dialogue Nouveau projet s'affiche.
Sous Types de projets, développez Projets de base de données, puis cliquez sur Microsoft SQL Server.
Sous Modèles, cliquez sur SQL Server 2005.
Dans la zone Nom, tapez Northwind_Project, puis cliquez sur OK.
Northwind_Project s'ouvre et apparaît dans l'Explorateur de solutions. Le projet est vide.
Remarque : En utilisant Team Edition for Database Professionals, vous pouvez également créer des projets qui ne sont pas vides. Pour plus d'informations, consultez Comment : créer des projets de base de données.
Comparer le schéma de base de données au schéma de projet
Pour comparer les deux schémas
(Facultatif) Configurez des options qui affectent la façon dont les schémas sont comparés. Pour plus d'informations, consultez Options (Outils de base de données/Comparaison de schémas) et Comment : définir des options pour comparer des schémas de base de données.
Dans le menu Données, pointez sur Comparaison de schémas, puis cliquez sur Nouvelle comparaison de schémas.
La boîte de dialogue Nouvelle comparaison de schémas s'affiche. Sous Schéma source, le projet Northwind_Project apparaît.
Sous Schéma cible, assurez-vous que l'option Base de données est sélectionnée, puis cliquez sur la base de données Northwind.
Remarque : Si la liste située sous Base de données est vide, cliquez sur Nouvelle connexion. Dans la boîte de dialogue Propriétés de connexion, connectez-vous au serveur de base de données qui contient la base de données Northwind et cliquez sur OK. Si la liste située sous Base de données n'est pas vide et que vous vous connectez à la base de données Northwind à l'aide de l'authentification SQL Server, la boîte de dialogue Connexion à SQL Server apparaît. Vous devez spécifier vos informations d'identification pour vous connecter à la base de données.
Dans la boîte de dialogue Nouvelle comparaison de schémas, cliquez sur OK.
Le schéma de la base de données Northwind est comparé au schéma de votre projet Northwind_Project. Les résultats de la comparaison apparaissent dans la fenêtre Comparaison de schémas. L'action de mise à jour est répertoriée comme Supprimer pour chaque objet qui existe dans la base de données Northwind et qui n'existe pas dans le projet Northwind_Project.
Importer le schéma de la base de données dans le projet
Pour importer le schéma de base de données
Dans le menu Affichage, cliquez sur Vue Schéma.
La vue Schéma s'ouvre et affiche le schéma du projet Northwind_Project.
Cliquez avec le bouton droit sur Northwind_Project et cliquez sur Importer un schéma de base de données.
L'Assistant Importation de base de données s'ouvre.
Sous Connexion de base de données source, cliquez sur la base de données Northwind.
Cliquez sur Terminer.
Le schéma de la base de données est importé dans le projet. Les deux schémas sont maintenant identiques.
Remarque : Le projet de base de données hérite de nombreuses propriétés de la base de données Northwind. Pour afficher ces propriétés, cliquez avec le bouton droit sur Northwind_Project dans l'Explorateur de solutions, puis cliquez sur Propriétés. Les paramètres importés incluent Classement par défaut sur la page Paramètres du projet et les paramètres Divers sur la page Propriétés de la base de données.
Pour vérifier que les deux schémas sont identiques, cliquez sur Actualiser dans la barre d'outils Comparaison de schémas.
Les schémas sont à nouveau comparés. Pour les objets de schéma qui sont identiques, l'action de mise à jour est répertoriée comme Ignorer.
Phase de production
Ajouter une table au projet de base de données
Pour ajouter une table au projet
Dans le menu Affichage, cliquez sur Vue Schéma.
La vue Schéma s'ouvre et affiche le schéma du projet Northwind_Project.
Dans la vue Schéma, développez le nœud Northwind_Project.
Cliquez avec le bouton droit sur Tables, pointez sur Ajouter, puis cliquez sur Table.
La boîte de dialogue Ajouter un nouvel élément - Northwind_Project s'ouvre.
Sous Modèles, cliquez sur Table.
Dans la zone Nom, tapez InternationalShippers, puis cliquez sur Ajouter.
Une table nommée InternationalShippers est ajoutée au projet Northwind_Project. La définition de table apparaît dans l'éditeur Transact-SQL (T-SQL).
Modifiez le script SQL dans InternationalShippers.table.sql de la façon suivante :
CREATE TABLE [dbo].[InternationalShippers] ( [ShipperID] [int] NOT NULL IDENTITY(1,1), [CompanyName] [nvarchar] (40) NOT NULL, [Region] [nvarchar] (40) NOT NULL, [Phone] [nvarchar] (24) NULL ) ON [PRIMARY]
Cliquez sur Enregistrer InternationalShippers.table.sql.
Dans la vue Schéma, cliquez avec le bouton droit sur la table InternationalShippers et cliquez sur Afficher le fichier dans l'Explorateur de solutions.
Le fichier InternationalShippers.sql est mis en surbrillance dans l'Explorateur de solutions.
Appuyez sur F4.
La fenêtre Propriétés apparaît et affiche les propriétés du fichier InternationalShippers.table.sql. Notez que Build Action a la valeur Générer. En affectant à la propriété Build Action la valeur Générer, vous indiquez que le fichier contient la définition pour un objet de base de données et doit être analysé ainsi que validé.
Comparer les deux schémas
Pour comparer les deux schémas
Cliquez sur l'onglet Comparaison de schémas pour réafficher les résultats de la comparaison la plus récente.
Dans la barre d'outils Comparaison de schémas, cliquez sur Actualiser.
Le schéma de la base de données Northwind est comparé au schéma de votre projet Northwind_Project modifié. Les résultats de la comparaison apparaissent dans la fenêtre Comparaison de schémas. Dans la colonne Northwind_Project, la table [dbo].[InternationalShippers] apparaît.
L'état de la nouvelle table est Nouveau et son action de mise à jour est Créer. Si vous propagez les modifications maintenant, la table est créée dans la base de données cible. Pour plus d'informations, consultez la procédure suivante :
Propager les modifications du projet vers la base de données
Dans cette procédure, vous propagez la nouvelle table InternationalShippers vers la base de données Northwind. Pour plus d'informations, consultez Comment : synchroniser des schémas de base de données.
Attention : |
---|
Cette procédure est décrite uniquement à titre d'illustration. Vous ne souhaitez probablement pas suivre les étapes de cette procédure, car vous remplaceriez des parties de l'exemple de base de données Northwind. Utilisez cette procédure uniquement si vous n'avez pas besoin de gérer une copie parfaite de Northwind. Vous pouvez également exécuter la procédure sur une copie de la base de données Northwind. |
Pour propager les modifications vers la base de données cible
Dans la fenêtre Comparaison de schémas, cliquez sur Écrire les mises à jour.
Les actions de mise à jour qui ont été répertoriées dans la fenêtre Comparaison de schémas, qui inclut l'action de mise à jour Créer pour la table InternationalShippers, sont exécutées. Cette synchronisation modifie le schéma de la base de données cible pour correspondre à celui du projet de base de données source.
Remarque : Pendant le déroulement de l'action de mise à jour, vous pouvez annuler l'opération en ouvrant le menu Données, en pointant sur Comparaison de schémas, puis en cliquant sur Arrêter l'écriture dans la cible.
Attention : Dans la mesure où certaines modifications de schéma ne peuvent pas être accomplies, vous pouvez perdre des données si vous annulez une opération de mise à jour. Par exemple, une table dans la base de données cible a pu être supprimée pendant la préparation de sa nouvelle création. Si vous annulez la mise à jour à ce moment-là, vous pouvez perdre la table. Si ce type de perte de données se produit, il est recommandé de comparer à nouveau les schémas.
Voir aussi
Tâches
Comment : comparer les schémas de deux bases de données
Comment : comparer les données de deux bases de données
Concepts
Vue d'ensemble de la terminologie de Database Edition