Procédure pas à pas : comparaison des schémas de deux bases de données
Mise à jour : novembre 2007
Dans cette procédure pas à pas, vous comparez les schémas de deux bases de données en utilisant Visual Studio Team System Database Edition. L'action de comparaison de schémas génère également un script de langage de définition de données (DDL) à partir des différences. Utilisez ce fichier pour synchroniser le schéma de la cible avec celui de la source. Pour plus d'informations, consultez Comparaison de schémas de base de données.
Vous suivrez les procédures suivantes dans cette procédure pas à pas :
Create an empty database. La base de données Northwind sert de source et vous créez une base de données vide en tant que cible.
Compare the schemas of two databases. En comparant les schémas, vous trouvez les différences structurelles entre les bases de données, affichez les différences dans une table et générez un script DDL qui exprime les différences.
Examine the synchronization script. Vous vérifiez le script DDL que vous pouvez modifier avant de l'exécuter.
Update the target database. Vous exécutez le script DDL pour modifier le schéma de la cible.
Composants requis
Les produits suivants doivent être installés :
Microsoft SQL Server 2000 ou Microsoft SQL Server 2005
Database Edition
Vous devez avoir deux bases de données à comparer. Vous démarrez avec la base de données Northwind comme source. Vous créez également une base de données vide en tant que cible. Cette opération est décrite dans la procédure suivante.
Création d'une base de données vide
Procédez comme suit pour créer une base de données vide.
Pour créer une base de données vide
Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Fichier.
La boîte de dialogue Nouveau projet s'affiche.
Si vous voulez créer une base de données SQL Server 2000, cliquez sur Assistant SQL Server 2000. Si vous voulez créer une base de données SQL Server 2005, cliquez sur Assistant SQL Server 2005.
Dans la zone Nom, tapez EmptyNW.
Acceptez les valeurs par défaut pour les champs restants, puis cliquez sur OK.
L'Assistant Nouveau projet de base de données s'affiche.
Cliquez sur Configurer la génération/le déploiement.
Dans Connexion cible, cliquez sur le bouton Parcourir et spécifiez la connexion au serveur de base de données où vous souhaitez créer la base de données vide.
Cliquez sur Terminer.
Un projet de base de données nommé EmptyNW est créé et apparaît dans l'Explorateur de solutions.
Cliquez sur le projet de base de données EmptyNW dans l'Explorateur de solutions.
Dans le menu Générer, cliquez sur DéployerNomProjet.
Le projet de base de données est généré et déployé vers le serveur spécifié.
Comparaison des schémas de deux bases de données
Pour comparer les schémas de deux bases de données
Ouvrez Database Edition
Dans le menu Données, pointez sur Comparaison de schémas, puis cliquez sur Nouvelle comparaison de schémas.
La boîte de dialogue Comparaison de schémas s'affiche. Utilisez-la pour spécifier la source et la cible. Dans cette boîte de dialogue, vous identifiez les serveurs sur lesquels la source et la cible résident, le nom de chaque base de données et le type d'authentification à utiliser lorsque vous vous connectez à chaque base de données.
De plus, la fenêtre Comparaison de schémas s'ouvre en arrière-plan et Database Edition lui assigne automatiquement un nom, tel que SchemaCompare1.
Sous Base de données source, dans Nom du serveur, tapez le nom du serveur sur lequel la base de données Northwind réside.
Dans Sélectionner ou entrer un nom de base de données, tapez Northwind.
Sous Nom de la base de données cible, tapez le nom du serveur sur lequel la base de données EmptyNW réside. Ce nom doit être le même que celui du serveur que vous avez tapé pour la source.
Sous Sélectionner ou entrer un nom de base de données, tapez EmptyNW.
Cliquez sur Terminer.
La comparaison de schémas commence.
Remarque : Vous pouvez arrêter une opération de comparaison de schémas en cours en ouvrant le menu Données, en pointant sur Comparaison de schémas, puis en cliquant sur Arrêter la comparaison de schémas.
Remarque : Vous pouvez configurer des options pour spécifier ce qui est considéré comme une différence et modifier le mode de création du script de mise à jour. Pour plus d'informations, consultez Comment : définir des options pour comparer des schémas de base de données.
Lorsque la comparaison est terminée, les différences structurelles entre les deux bases de données apparaissent dans la table de la fenêtre Comparaison de schémas. La table affiche une ligne pour chaque objet de base de données qui existe dans l'une des bases de données. Les objets de base de données sont classés par type : tables, vues, procédures stockées, rôles, etc.
Mise à jour de la base de données cible
Pour mettre à jour le schéma de la cible, vous avez deux possibilités. Vous pouvez mettre à jour le schéma directement à partir de la fenêtre Comparaison de schémas ou en utilisant l'éditeur T-SQL. Cette section décrit les deux possibilités.
Après avoir exécuté la comparaison de schémas, les différences structurelles apparaissent dans la table de la fenêtre Comparaison de schémas. Pour chaque objet de la colonne Northwind (base de données source), la table affiche une action dans la colonne Mettre à jour l'action nécessaire à la synchronisation de cet objet dans les deux bases de données. Dans ce cas, dans la mesure où la cible est vide à l'exception des objets par défaut, la colonne État contient principalement des états Nouveau et la colonne Mettre à jour l'action contient principalement des actions Créer.
Écrire les mises à jour dans la cible
Vous pouvez mettre à jour le schéma de la cible à l'aide des actions de mise à jour répertoriées dans la fenêtre Comparaison de schémas. Pour effectuer cette tâche, exécutez les étapes décrites sous Write Updates to Target Database.
Afficher le script, puis écrire les mises à jour dans la cible
Vous pouvez exporter un script de mise à jour, l'examiner, éventuellement le modifier, puis l'utiliser pour synchroniser la base de données cible. Pour effectuer ces tâches, exécutez les étapes décrites sous Examine and Execute the Synchronization Script.
Écriture de mises à jour dans la base de données cible
Pour écrire des mises à jour dans la base de données cible
(Facultatif, mais recommandé) Sauvegardez la base de données cible.
Dans la mesure où certaines modifications de schéma ne peuvent pas être accomplies, vous pouvez perdre des données si vous démarrez, puis 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.
Dans la barre d'outils Comparaison de schémas, cliquez sur Écrire les mises à jour.
Les actions de mise à jour répertoriées dans la fenêtre Comparaison de schémas sont exécutées. Cette synchronisation modifie le schéma de la cible pour correspondre à celui de la 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.
Remarque : La comparaison n'est pas actualisée automatiquement. Si vous souhaitez exécuter à nouveau la comparaison pour vérifier que les mises à jour sélectionnées ont été appliquées, vous devez cliquer sur le bouton Actualiser dans la barre d'outils Comparaison de schémas.
Examen et exécution du script de synchronisation
Pour examiner le script de synchronisation
Dans le menu Données, pointez sur Comparaison de schémas, sur Exporter vers, puis cliquez sur Éditeur. Vous pouvez également cliquer sur Exporter vers l'éditeur dans la barre d'outils Comparaison de schémas.
L'éditeur T-SQL s'ouvre en mode connecté et affiche le script de synchronisation T-SQL. Cette fenêtre porte un nom tel que Server.Northwind - SchemaUpdate_EmptyNW_1.sql. Elle affiche le script T-SQL. Il se trouve dans un fichier du dossier Mes documents/Visual Studio 2005/Mes Projets. Dans la mesure où vous disposez d'un accès en écriture et en lecture à cette fenêtre, vous pouvez modifier le script. Si vous le modifiez, ouvrez le menu Fichier, puis cliquez sur Enregistrer.
Pour synchroniser les schémas des deux bases de données, exécutez ce script en cliquant sur Exécuter SQL dans la barre d'outils Comparaison de schémas ou en appuyant sur F5.
Remarque : La comparaison n'est pas actualisée automatiquement. Si vous souhaitez exécuter à nouveau la comparaison pour vérifier que les mises à jour sélectionnées ont été appliquées, vous devez cliquer sur le bouton Actualiser dans la barre d'outils Comparaison de schémas.
Étapes suivantes
Vous pouvez à présent comparer les données dans les deux bases de données. Pour plus d'informations, consultez Comment : comparer les données de deux bases de données.
Voir aussi
Tâches
Comment : comparer les données de deux bases de données
Comment : comparer les schémas de deux bases de données
Concepts
Vue d'ensemble de la terminologie de Database Edition