2010-10-21 26 views
1

Je dois convertir beaucoup de requêtes SQL héritées en procs stockés (réécriture et rangement) et je cherche un moyen efficace de comparer les résultats un par un pour m'assurer que je n'ai pas modifié le comportement. J'utilise actuellement SQLDelta, mais il me faut pour acheminer les résultats de chaque requête dans des tables et en transférer un sur un serveur séparé en utilisant SSIS. En effet, SQL Delta est axé sur la comparaison de bases de données/tables plutôt que de jeux de données. Il ne comparera pas les tables dans la même base de données. Vraiment ce que je veux savoir est que quelqu'un a une méthode/outil pour comparer les résultats de requête ad hoc d'une manière SQLDelta (c'est-à-dire, faire correspondre les lignes correspondantes sur PK, mettre en évidence les différences, espacer les résultats dans chaque ensemble). Idéalement, je collerais l'avant et après SQL dans et générer les résultats. Les ensembles de résultats peuvent être ~ 10 à 200k lignes et ~ 50 colonnes.Quelqu'un connaît une méthode/outil pour comparer les requêtes SQL ad hoc?

Je ne peux pas croire que je ne trouve pas quelque chose le long de ces lignes via google. Toute aide appréciée.

Merci

Répondre

1

Une voie basse technologie serait de produire les résultats de chaque vers un fichier, (SQL Manager a un bouton « Résultats fichier ») et utiliser un outil de diff comme tortoise merge.

Modifier


Si vous avez jamais tiré les résultats de SQL Manager en tant que texte, il sort sous forme de tableau.

PrimaryLocation_FacilityLongName                  SecondaryLocation_FacilityLongName                 HasPublicComment HasPublicAttachment CMRID        CustomerIDNumber 
---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------- ------------------- ------------------------------------ ------------------------------ 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    95FA6986-DB86-4E6F-8C48-05948AA94A30 1145 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    0E40FF65-804E-47F7-9BCC-112185196162 1146 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    908C5ADB-333C-42D0-9CDD-2FF196696B00 103 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    BA8239B2-BF53-451F-A6B2-44432D8B7BC7 1241 
BCCH-Ambulatory Care Center                   NULL                         0    NULL    3B873A2C-4E1C-4E26-A3F7-6FDB0EE61EF2 1244 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    417242E8-E656-4AA3-A4B7-989E5740C84B 1239 

Tant que les requêtes sont commandées. Tout ce que vous avez à faire est d'ouvrir la fusion des tortues et de rechercher des taches rouges dans les fichiers. S'il n'y en a pas, vous êtes bon à faire.

+0

Merci, mais juste en raison de leur taille de cisaillement, ne pas avoir la comparaison alignée dans une grille est pénible à travailler si – Ray

+0

C'est pourquoi je voudrais utiliser tortue fusionner. Il mettra en évidence exactement les lignes et les colonnes qui sont différentes entre les deux requêtes. –

+0

ou vous pouvez utiliser MS Word ou tout autre outil de comparaison de texte – Beth