2011-04-21 4 views
1

Récemment, j'ai migré mon projet de SQLServer 2000 à MySQL 5.2 à l'aide boîte à outils de migration MySQL bien qu'à la fin de la migration, il montre le message que la migration réussie mais je ne suis toujours pas sûr que les données ont migré avec succès ou non car pendant la migration dans le backend cette boîte à outils de migration fait quelque chose comme ça a changé le bit Datatype en minuscule int, celui-ci j'ai remarqué mais je ne sais pas quoi d'autre car je suis sensible données donc je veux être sûr de mon côté si la migration est effectivement réussie ou non dans le même temps je ne peux pas le faire manuellement en raison de l'énorme quantité de données sont là des moyens pour que je puisse comparer les tables à la fois sqlserver base de données 2000 et base de données MySQL et générer un rapport. En comparant je veux dire comparer le tableau dans son ensemble, y compris les données, le type de données, tout.La comparaison des tables de différentes bases de données après la migration

Répondre

2

Je doute qu'il existe un outil pour cela, donc vous aurez probablement besoin d'écrire le vôtre et cela va prendre du temps. La première chose que je ferais est d'écrire une application qui se connecte aux deux bases de données, récupère les définitions de tables en mémoire et les affiche dans un fichier dans l'ordre du nom de la table.

Ensuite, utilisez un outil de comparaison de fichiers tel que WinMerge pour vérifier les différences. S'il existe des différences comme celle que vous avez mentionnée ci-dessus, faites les changements nécessaires dans MySQL et faites correspondre les données si nécessaire. Ensuite, je modifierais la même application pour parcourir chaque table de la base de données, ramener toutes les données dans un type d'objet basé sur un ensemble qui prend en charge une opération UNION. UNION l'ancienne table avec la nouvelle table et vérifiez si le nombre de lignes dans le résultat est égal au nombre de lignes dans la base de données source. Si oui, toutes les valeurs sont les mêmes, sinon marquez-le pour une inspection plus approfondie. Cela prendra très probablement soin de la plupart de vos tables et vous pouvez faire une inspection manuelle de celles qui échouent à ce test.

Tous les autres objets seront des variations sur un thème (ce sont des objets plus simples, juste du texte), mais je passerais la majorité de mon temps à vérifier les données.

J'espère que cela vous aidera, que cela vous prendra du temps.

Questions connexes