2010-11-25 28 views
4

En utilisant un certain nombre d'outils SQL différents "comparaison/comparaison", des différences sont signalées pour les procédures stockées et les tables identiques (dans tout, mais le cas de certains mots-clés - ours avec moi (l'attente est que le cas soit le même)) entre une base de données vivant sur 2 serveurs de bases de données différents. Les outils d'administration db «client» et les outils de comparaison que je suis en train d'utiliser ont tous deux été configurés pour essayer de capitaliser les mots-clés et de ne pas mettre en majuscule les mots-clés afin d'assurer la cohérence.Pourquoi un outil SQL Diff présente-t-il des différences pour 2 processus stockés identiques sur 2 serveurs db différents?

J'ai également exécuté le même script pour créer les sprocs sur les deux serveurs db. Les serveurs de bases de données mySQL hébergeant les bases de données impliquées dans la comparaison sont tous deux la même version: version 5.1

Quels sont les paramètres de configuration du serveur mySQL dont j'ai besoin pour effectuer des comparaisons et ne PAS voir les différences signalées là où ils ne sont pas L'intention ici est que je reçois un rapport précis des différences et que je puisse générer des scripts de base de données en toute confiance, y compris/excluant les changements pendant la promotion, sorte de ce que vous attendez d'un outil de comparaison SQL !!

Merci,

+0

Montrez-nous les outils, les spécifications du serveur et les méthodes que vous utilisez pour comparer – ajreal

+0

J'ai utilisé SQLYog et SQL Examiner. Une solution de contournement ici est de comparer les scripts pour les DB sur le même serveur, mais j'aimerais pouvoir le faire à travers les serveurs DB finalement ..... – brumScouse

+0

en supposant que le cache de requête est désactivé? – ajreal

Répondre

1

Dans mon expérience, quand deux schémas ont été déclarés différents, bien que je les attendais pour être exact, était dû à

  • légère différence dans la version MySQL, l'espace si blanc et capitalisation dans les définitions de la table (CREATE TABLE s) étaient différentes
  • différents jeux de caractères par défaut (au niveau du serveur, le niveau db ou tableau) sur les différents serveurs
  • différent ordre des index sur une table (en raison de me laisser tomber et re ajoutée sur l'un des serveurs)

++

  • La valeur AUTO_INCREMENT dans le CREATE TABLE
+0

ok aura un mooch au jeux de char. – brumScouse

+0

Pas de retour au travail avant demain, je vais confirmer la réponse alors. – brumScouse

+0

Seulement 3 et quelques années de retard. Je suis retourné au travail ... – brumScouse