Procédure pas à pas : comparaison des données de deux bases de données
Mise à jour : novembre 2007
Dans cette procédure pas à pas, vous comparez les données de deux bases de données, générez un script DML (Data Manipulation Language) à partir des différences, puis utilisez ce script pour remplir la cible avec les données de la source.
Vous suivrez les différentes étapes de cette procédure pas à pas :
Compare the data of two databases. Dans cette procédure, vous recherchez des différences dans les données, les affichez dans une grille et générez un script DML qui les exprime.
Update the target database. Dans cette procédure, vous affichez deux façons de mettre à jour la cible afin qu'elle corresponde à la source.
Composants requis
Avant de pouvoir effectuer cette procédure pas à pas, les produits suivants doivent être installés :
Microsoft SQL Server 2000 ou Microsoft SQL Server 2005
Visual Studio Team System Database Edition
Avant de démarrer cette procédure pas à pas, suivez les étapes des procédures dans Procédure pas à pas : comparaison des schémas de deux bases de données. Après avoir effectué cette procédure pas à pas, vous disposerez de deux bases de données :
La source, Northwind, a sa structure d'origine et contient ses données d'origine.
La cible, EmptyNW, est la base de données que vous avez créée dans la procédure pas à pas pour la comparaison de schéma. Vous avez alors appliqué uniquement le schéma de la base de données Northwind à EmptyNW. Par conséquent, EmptyNW ne contient pas de données.
Comparaison des données de deux bases de données
Cette section inclut deux procédures. Dans la première procédure, vous comparez les bases de données et produisez des résultats. Dans la seconde procédure, vous examinez ces résultats.
Pour comparer les données de deux bases de données
Dans le menu Données, pointez sur Comparaison de données, puis cliquez sur Nouvelle comparaison de données.
L'Assistant Nouvelle comparaison de données apparaît. Utilisez-le pour configurer la comparaison de données. Pour configurer la comparaison, vous devez spécifier le serveur sur lequel chaque base de données réside, le type d'authentification à utiliser lorsque vous vous connectez et le nom de chaque base de données à comparer.
Par ailleurs, la fenêtre Comparaison de données s'ouvre en arrière-plan et Visual Studio lui assigne automatiquement un nom, tel que DataCompare1.
Dans l'Assistant Nouvelle comparaisonde données, sélectionnez la base de données source, Northwind. Dans la liste Base de données source, son nom apparaît sous la forme Server.Northwind.dbo.
Si la liste Base de données source est vide, cliquez sur Nouvelle connexion. Dans la boîte de dialogue Propriétés de connexion, identifiez le serveur sur lequel réside la base de données Northwind et le type d'authentification à utiliser lors de la connexion à la base de données. Cliquez ensuite sur OK pour fermer la boîte de dialogue Propriétés de connexion et retourner dans l'Assistant Nouvelle comparaison de données.
Sélectionnez la base de données cible, EmptyNW. Dans la liste Base de données cible, son nom apparaît sous la forme Server.EmptyNW.dbo.
Si la liste Base de données cible est vide, cliquez sur Nouvelle connexion. Dans la boîte de dialogue Propriétés de connexion, identifiez le serveur sur lequel réside la base de données EmptyNW et le type d'authentification à utiliser lors de la connexion à la base de données. Cliquez ensuite sur OK pour fermer la boîte de dialogue Propriétés de connexion et retourner dans l'Assistant Nouvelle comparaison de données.
Si vous souhaitiez limiter les enregistrements qui apparaissent dans les résultats de comparaison, vous pouvez spécifier des options de comparaison de données avancée. Pour cette procédure pas à pas, acceptez les valeurs par défaut pour afficher tous les enregistrements.
Cliquez sur Suivant.
Sur la deuxième page de l'Assistant Nouvelle comparaison de données, vous pouvez affiner une sélection de tables et de vues à comparer. Toutes les tables de la base de données sont répertoriées sous le nœud Tables. Vous pouvez développer des tables individuelles pour afficher les colonnes qu'elles contiennent. Par défaut, toutes les tables et colonnes sont sélectionnées. Cela signifie qu'elles seront toutes comparées.
Remarque : Si vous souhaitez personnaliser les tables et vues qui doivent être comparées, vous pouvez cliquer sur Terminer au lieu de Suivant.
Pour exclure une table ou colonne particulière, désactivez sa case à cocher. Pour inclure une table ou colonne particulière, activez sa case à cocher.
Cliquez sur Terminer pour démarrer la comparaison.
La comparaison commence.
Remarque : Vous pouvez arrêter une opération de comparaison de données qui est en cours en cliquant sur Arrêter dans la barre d'outils Comparaison de données.
Lorsque la comparaison est terminée, les différences de données entre les deux bases de données apparaissent dans une table de la fenêtre Comparaison de données. Pour plus d'informations sur l'affichage de ces résultats, consultez la procédure suivante.
Vous pouvez maintenant choisir de mettre à jour les données dans la cible pour correspondre à celles dans la source. Pour plus d'informations, consultez Updating the Target Database.
Pour afficher les résultats de comparaison de données
Cliquez sur la ligne [dbo].[Orders].
Les noms des onglets du volet Vue Enregistrements changent pour inclure le nombre d'enregistrements de chaque type : Enregistrements différents (0), Uniquement dans la source (830), Uniquement dans la cible (0) et Enregistrements identiques (0).
Cliquez sur l'onglet Uniquement dans la source (830).
Sous l'onglet Uniquement dans la source (830), chaque ligne et chaque colonne correspondent à une ligne ou une colonne de la table [dbo].[Orders].
Remarque : Vous pouvez utiliser ces onglets pour contrôler les données qui sont propagées vers la cible. Pour plus d'informations, consultez Write Updates to Target Database.
Mise à jour de la cible
Vous pouvez mettre à jour les données dans la cible directement à partir de la fenêtre Comparaison de données ou en utilisant l'éditeur Transact SQL (T-SQL). Cette section décrit les deux options.
Après avoir comparé les données, les différences apparaissent dans la grille de la fenêtre Comparaison de données. Pour chaque table ou vue de la colonne Objet, une case à cocher indique si cet objet est inclus dans une opération de mise à jour. Les colonnes indiquent quelles modifications et de quels types ont été signalées par la comparaison de données. Dans ce cas, dans la mesure où la cible est vide à l'exception des objets par défaut, seule la colonne Uniquement dans la source affiche les modifications apportées.
Écrire des mises à jour en utilisant des options de comparaison de données
Pour mettre à jour les données dans la cible à l'aide des actions de mise à jour qui apparaissent dans la fenêtre Comparaison de données, procédez comme suit :
- Update the Target Database
Écrire des mises à jour en utilisant l'éditeur T-SQL
Pour exporter, examiner et modifier un script de mise à jour, puis l'utiliser pour modifier la cible, procédez comme suit :
- Examine and Run the Synchronization Script
Mise à jour de la base de données cible
Pour mettre à jour la cible
Dans la fenêtre Comparaison de données, cliquez sur [dbo].[Products].
Dans le volet d'informations, cliquez sur Uniquement dans la cible.
Les deux premières lignes sont nommées Chai et Chang.
La barre d'état du volet d'informations indique le nombre des enregistrements qui manquent dans la source et le nombre des enregistrements qui seront supprimés de la cible. Ces deux nombres correspondent.
Désactivez la case à cocher de la ligne pour Chai.
Dans la barre d'état du volet d'informations, le nombre des enregistrements à supprimer a été réduit d'un enregistrement. Il ne correspond plus au nombre des enregistrements qui manquent dans la source.
Dans la fenêtre Comparaison de données, cliquez sur Écrire les mises à jour.
Les actions de mise à jour répertoriées dans la fenêtre Comparaison de données sont implémentées. Cette synchronisation modifie la cible pour correspondre à la source.
Remarque : Pendant que la cible est mise à jour, vous pouvez annuler l'opération en cliquant sur Arrêter l'écriture dans la cible.
Examen et exécution du script de synchronisation
Pour examiner le script de synchronisation
Dans la fenêtre Comparaison de données, cliquez sur Exporter vers l'éditeur.
L'éditeur T-SQL s'ouvre en mode connecté et affiche le script T-SQL. Cette fenêtre porte un nom, tel que Server.Northwind - DataUpdate_EmptyNW_1.sql. Dans la mesure où vous avez un accès en écriture dans cette fenêtre, vous pouvez modifier le script. Si vous apportez des modifications, cliquez sur Enregistrer lorsque vous avez terminé.
Pour synchroniser les données des deux bases de données, exécutez ce script en cliquant sur Exécuter SQL ou en appuyant sur F5.
Remarque : Pendant que le script est en cours d'exécution, vous pouvez annuler l'opération en cliquant sur Annuler l'exécution de la requête ou en appuyant sur Alt+Pause.
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