Nous migrons notre base de données vers un nouveau schéma mais voulons valider que les données ont été déplacées correctement.
Les outils de comparaison de données traditionnels peuvent comparer deux bases de données pour les différences si les schémas sont les mêmes. Dans notre cas, il y a eu des changements dans les conceptions de table, mais toutes les données de l'ancien schéma sont dans le nouveau, il a juste été déplacé un peu et je dois m'assurer qu'il est correct. Nous avons des dizaines de millions de rangées, l'inspection manuelle n'est donc pas une option.
Existe-t-il des outils qui pourraient faciliter ce type de comparaison?
Sinon, existe-t-il des bibliothèques / frameworks qui pourraient aider à lancer le développement d'une solution personnalisée?
Je suis heureux d'utiliser une solution spécifique à la base de données si nécessaire, dans ce cas pour SQL Server 2008.
Mon soluton: je compare les deux ensembles de données en créant une VIEW
de chaque table sur l'ancienne base de données avec les mêmes champs que la nouvelle table de base de données.
Je compare ensuite les données en utilisant la technique décrite ici: La façon la plus courte, la plus rapide et la plus simple de comparer deux tables dans SQL Server: UNION!
J'ai de la chance dans cette migration car la structure globale de la table est similaire à l'ancienne base de données, avec des champs déplacés d'une table à une autre, supprimés ou ajoutés. Dans le cas des éléments supprimés et ajoutés, il n'y a rien à comparer, pour les champs qui ont été déplacés ou agrégés, je fais des calculs en vue de fournir les informations correctes pour la comparaison.
La UNION
comparaison ne me montre que les lignes avec des différences, donc dès que les données sont correctes, j'obtiens un jeu de résultats vide.