Dans mon article précédent, j’ai discuté de la façon de comparer et de synchroniser les objets de schéma dans SQL Server à l’aide de Visual Studio. Cependant, en plus de la comparaison de schéma, nous avons souvent besoin de comparer et de synchroniser les données contenues dans les tables. Cela est particulièrement important lors du déploiement des données maîtres d’un environnement de développement vers d’autres environnements tels que Test, QA, UAT ou Production.
Dans cet article, je vais vous montrer comment comparer et synchroniser les données dans SQL Server à l’aide de l’édition Microsoft Visual Studio Database. Cette édition offre différentes fonctionnalités pour le développement de bases de données, y compris la comparaison de données.
Pour commencer, ouvrez l’IDE Microsoft Visual Studio et accédez au menu “Data”. Selon l’édition de Visual Studio que vous avez installée, vous trouverez le menu “Data” dans la barre de menus. Sélectionnez “Data Compare” puis “New Data Comparison”.
Une boîte de dialogue apparaîtra, vous demandant de spécifier les bases de données source et cible pour la comparaison. Vous devrez configurer une connexion à votre instance SQL Server pour les bases de données source et cible. De plus, vous pouvez spécifier différentes options de comparaison de données, telles que la liste de tous les enregistrements différents, les enregistrements existant uniquement dans la source ou la cible, ou les enregistrements identiques entre la source et la cible.
Ensuite, vous pouvez sélectionner les tables ou vues que vous souhaitez inclure dans la comparaison de données. Vous pouvez également sélectionner individuellement les colonnes qui doivent faire partie de la comparaison. Il est important de noter que les tables/vues source et cible doivent avoir une clé primaire ou unique, qui sera utilisée comme clé de comparaison lors de la comparaison de données. Si une table/vue a plusieurs index, vous pouvez sélectionner celui qui doit être considéré comme la clé de comparaison.
Une fois que vous cliquez sur “Finish”, la comparaison de données commencera pour les objets sélectionnés et le résultat de la comparaison sera affiché. L’écran de résultat affichera le nom des objets considérés dans la comparaison, le nombre d’enregistrements différents entre la source et la cible, le nombre d’enregistrements existant uniquement dans la source ou la cible, et le nombre total d’enregistrements identiques entre la source et la cible.
L’écran de résultat comprend également une barre d’outils avec différentes options. Vous pouvez filtrer le résultat de la comparaison de données, synchroniser les données des tables cibles en écrivant des mises à jour, et exporter la synchronisation des données ou le script de mise à jour incrémentale vers un fichier ou un éditeur.
Dans l’onglet “Different Records”, vous pouvez sélectionner ou désélectionner la case à cocher “Update” pour inclure ou exclure un enregistrement dans la synchronisation. La clé primaire ou unique est affichée, suivie des colonnes de la source et de la cible, ce qui vous permet de comparer facilement les modifications.
Le volet inférieur de l’écran de résultat affiche le script de mise à jour des données de la base de données cible en fonction de vos sélections. Si des mises à jour ou de nouveaux enregistrements sont présents dans la source, les scripts correspondants apparaîtront dans ce volet. Vous pouvez cliquer sur l’icône “Refresh Update Script” dans la barre d’outils pour afficher ou actualiser les modifications.
Il est important de noter que pour comparer les données entre la source et la cible, les deux tables doivent avoir une clé primaire ou unique, ou des contraintes uniques. Le nom, le propriétaire et la structure des tables doivent également être identiques pour que les tables source et cible apparaissent dans l’assistant de comparaison de données.
Par défaut, la comparaison de données est sensible à la casse lors de la prise en compte du nom et du propriétaire de la table ou de la vue, même si SQL Server est insensible à la casse.
En conclusion, l’édition Microsoft Visual Studio Database offre un outil puissant pour comparer et synchroniser les données dans SQL Server. En suivant les étapes décrites dans cet article, vous pouvez facilement comparer et synchroniser les données entre différentes bases de données et générer des scripts de synchronisation de données ou de déploiement de données incrémentielles.