Vous pouvez comparer les données contenues dans deux bases de données. Les bases de données que vous comparez sont appelées la source et la cible.
Lorsque les données sont comparées, un script de langage de manipulation de données (DML) est généré. Vous pouvez utiliser ce script pour synchroniser les bases de données différentes en mettant à jour une partie ou la totalité des données dans la base de données cible. Une fois la comparaison des données terminée, les résultats apparaissent dans la fenêtre de comparaison des données de Visual Studio.
Après la fin de la comparaison, vous pouvez effectuer d’autres étapes :
Comparer les données des bases de données
Comparer les données en utilisant l’assistant de comparaison de données
Dans le menu principal, allez dans Outils -> SQL Server -> Nouvelle comparaison de données.
Le nouvel assistant de comparaison de données apparaît. De plus, la fenêtre de comparaison des données s’ouvre et Visual Studio lui attribue automatiquement un nom tel que “DataCompare1”.Identifiez les bases de données source et cible.
Si la liste Base de données source ou la liste Base de données cible est vide, sélectionnez Nouvelle connexion. Dans la boîte de dialogue Propriétés de connexion, identifiez le serveur sur lequel se trouve la base de données et le type d’authentification à utiliser lors de la connexion à la base de données. Ensuite, sélectionnez OK pour fermer la boîte de dialogue Propriétés de connexion et revenir à l’assistant de comparaison de données. Sur la première page de l’assistant de comparaison de données, vérifiez que les informations pour chaque base de données sont correctes, spécifiez les enregistrements que vous souhaitez inclure dans les résultats, puis sélectionnez Suivant. La deuxième page de l’assistant de comparaison de données apparaît et montre une liste hiérarchique des tables et des vues dans la base de données.Sélectionnez les cases à cocher des tables et des vues que vous souhaitez comparer. Vous pouvez également développer les nœuds des objets de la base de données et sélectionner les cases à cocher des colonnes de ces objets que vous souhaitez comparer.
Si plus d’une clé est présente, vous pouvez utiliser la colonne Clé de comparaison pour spécifier la clé sur laquelle baser la comparaison des données. Par exemple, vous pouvez spécifier si la comparaison doit être basée sur la colonne de clé primaire ou sur une autre colonne de clé (uniquement identifiable).
Sélectionnez Terminer.
La comparaison commence. Lorsque la comparaison est terminée, vous pouvez afficher les différences de données entre les deux bases de données. Vous pouvez également mettre à jour une partie ou la totalité des données dans la base de données cible pour les faire correspondre aux données de la base de données source.
Comparer les données en utilisant le modèle d’automatisation de Visual Studio
Ouvrez le menu Affichage, pointez sur Autres fenêtres, puis sélectionnez Fenêtre de commandes.
Dans la fenêtre de commandes, tapez la commande suivante :
Tools.NewDataComparison /NomServeurSrc sNomServeur /NomBaseDeDonneesSrc sNomBaseDeDonnees /NomUtilisateurSrc sNomUtilisateur /MotDePasseSrc sMotDePasse /NomAfficheSrc sNomAffiche /NomServeurCible tNomServeur /NomBaseDeDonneesCible tNomBaseDeDonnees /NomUtilisateurCible tNomUtilisateur /MotDePasseCible tMotDePasse /NomAfficheCible tNomAffiche
Remplacez les espaces réservés (sNomServeur, sNomBaseDeDonnees, sNomUtilisateur, sMotDePasse, sNomAffiche, tNomServeur, tNomBaseDeDonnees, tNomUtilisateur, tMotDePasse et tNomAffiche) par les valeurs de vos bases de données source et cible.
Si vous ne spécifiez pas de source et de cible, la boîte de dialogue Nouvelle comparaison de données apparaît. Pour plus d’informations sur les paramètres de la commande Tools.NewDataComparison, consultez la Référence des commandes d’automatisation pour les fonctionnalités de base de données de Visual Studio Team System.
Les données des bases de données source et cible spécifiées sont comparées. Les résultats apparaissent dans une session de comparaison des données. Pour plus d’informations sur la façon d’afficher les résultats ou de synchroniser les données, consultez les rubriques Affichage des différences de données et Synchronisation des données de la base de données.
Afficher les différences de données
Après avoir comparé les données de deux bases de données, la comparaison des données liste chaque objet de base de données que vous avez comparé et son état. Vous pouvez également afficher les résultats pour les enregistrements de chaque objet, regroupés par état. Pour plus d’informations sur les désignations d’état, consultez la rubrique Comparaison et synchronisation des données dans une ou plusieurs tables avec les données d’une base de données de référence.
Après avoir visualisé les différences, vous pouvez mettre à jour la cible pour qu’elle corresponde à la source pour une partie ou la totalité des objets ou enregistrements qui sont différents, manquants ou nouveaux. Pour plus d’informations, consultez la rubrique Synchronisation des données de la base de données.
Visualiser les différences de données
Comparez les données d’une source et d’une base de données cible. Pour plus d’informations, voir Comparer les données de la base de données.
(Facultatif) Faites l’une ou l’autre des opérations suivantes :
- Par défaut, les résultats de tous les objets s’affichent, quel que soit leur état. Pour afficher uniquement les objets ayant un état particulier, sélectionnez une option dans la liste Filtrer.
- Pour afficher les résultats des enregistrements d’un objet particulier, sélectionnez l’objet dans le volet principal des résultats, puis sélectionnez un onglet dans le volet d’affichage des enregistrements. Chaque onglet affiche tous les enregistrements de cet objet ayant un état particulier : différent, uniquement dans la source, uniquement dans la cible et identique. Les données apparaissent par enregistrement et par colonne.
Synchroniser les données de la base de données
Après avoir comparé les données de deux bases de données, vous pouvez les synchroniser en mettant à jour une partie ou la totalité de la cible pour qu’elle corresponde à la source. Vous pouvez comparer les données de deux types d’objets de base de données : les tables et les vues.
Mettre à jour les données de la cible en utilisant la commande de mise à jour
Comparez les données d’une source et d’une base de données cible. Pour plus d’informations, voir Comparer les données de la base de données.
Une fois la comparaison terminée, la fenêtre de comparaison des données liste les résultats des objets qui ont été comparés. Quatre colonnes (nommées Enregistrements différents, Uniquement dans la source, Uniquement dans la cible et Enregistrements identiques) affichent des informations sur les objets qui ne sont pas identiques. Pour chaque objet de ce type, ces colonnes affichent le nombre d’enregistrements qui ont été trouvés comme différents et le nombre d’enregistrements qu’une opération de mise à jour changerait. Ces deux nombres correspondent d’abord, mais à l’étape 4, vous pouvez changer les objets à mettre à jour.
Dans le tableau de la fenêtre de comparaison des données, sélectionnez une ligne.
Le volet des détails affiche les résultats pour les enregistrements de l’objet de base de données que vous avez sélectionné. Les enregistrements sont regroupés par état en onglets, que vous pouvez utiliser pour spécifier les données qui seront propagées de la source à la cible.
Dans le volet des détails, sélectionnez un onglet dont le nom contient un nombre autre que zéro (0).
La colonne Mise à jour de la table Uniquement dans la cible contient des cases à cocher que vous pouvez utiliser pour sélectionner les lignes à mettre à jour. Par défaut, chaque case à cocher est sélectionnée.
Décochez les cases des enregistrements de la cible que vous ne souhaitez pas mettre à jour avec les données de la source.
Lorsque vous décochez une case à cocher, vous réduisez le nombre d’enregistrements à mettre à jour et l’affichage change pour refléter vos actions. Ce nombre apparaît dans la ligne d’état du volet des détails et dans la colonne correspondante du volet principal des résultats, comme décrit à l’étape 1.
(Facultatif) Sélectionnez Générer un script.
Une fenêtre de l’éditeur Transact-SQL s’ouvre et affiche le script de langage de manipulation des données (DML) qui serait utilisé pour mettre à jour la cible.
Pour synchroniser les enregistrements qui sont différents, manquants ou nouveaux, sélectionnez Mettre à jour la cible.
Les données des enregistrements sélectionnés dans la cible sont mises à jour avec les données des enregistrements correspondants de la source.
Mettre à jour les données de la cible en utilisant un script Transact-SQL
Comparez les données d’une source et d’une base de données cible. Pour plus d’informations, voir Comparer les données de la base de données.
Après la fin de la comparaison, la fenêtre de comparaison des données liste les objets qui ont été comparés. Pour plus d’informations, voir Comparer et synchroniser les données dans une ou plusieurs tables avec les données d’une base de données de référence.
(Facultatif) Dans le volet des détails, décochez les cases des enregistrements de la cible que vous ne souhaitez pas mettre à jour, comme décrit dans la procédure précédente.
Sélectionnez Générer un script.
Une nouvelle fenêtre affiche le script Transact-SQL qui propagerait les modifications nécessaires pour faire correspondre les données de la cible avec les données de la source. La nouvelle fenêtre reçoit un nom tel que DataUpdate_Database_1.sql.
Ce script reflète les modifications que vous avez apportées dans le volet des détails. Par exemple, vous pouvez avoir décoché une case à cocher pour une ligne donnée dans la page Uniquement dans la cible pour la table [dbo].[Shippers]. Dans ce cas, le script n’effectuerait pas de mise à jour pour cette ligne.
(Facultatif) Modifiez ce script dans la fenêtre DataUpdate_Database_1.sql.
(Optionnel mais recommandé) Sauvegardez la base de données cible.
Sélectionnez Exécuter pour mettre à jour la base de données cible.
Spécifiez une connexion à la base de données cible que vous souhaitez mettre à jour.
Les données des enregistrements sélectionnés dans la cible sont mises à jour avec les données des enregistrements correspondants de la source.
Étapes suivantes
- Comparez et synchronisez les données dans une ou plusieurs tables avec les données d’une base de données de référence.