Stiamo migrando il nostro database su un nuovo schema ma vogliamo validare che i dati siano stati spostati correttamente.
Gli strumenti di confronto dei dati tradizionali possono confrontare due database per differenze se gli schemi sono uguali. Nel nostro caso sono state apportate modifiche ai disegni della tabella ma tutti i dati del vecchio schema sono nel nuovo, sono stati spostati un po 'e devo assicurarmi che siano corretti. Abbiamo decine di milioni di file, quindi l'ispezione manuale non è un'opzione.
Ci sono strumenti che potrebbero aiutare in questo tipo di confronto?
In caso contrario, ci sono librerie / framework che potrebbero aiutare a dare il via allo sviluppo di una soluzione personalizzata?
Sono felice di utilizzare una soluzione specifica per il database, se necessario, in questo caso per SQL Server 2008.
Il mio soluton: sto confrontando i due set di dati creando uno VIEW
di ciascuna tabella sul vecchio database con gli stessi campi della nuova tabella del database.
Quindi confronto i dati usando la tecnica qui descritta: il modo più breve, veloce e semplice per confrontare due tabelle in SQL Server: UNION!
Sono fortunato in questa migrazione poiché la struttura generale della tabella è simile al vecchio database, con i campi spostati da una tabella all'altra, eliminati o aggiunti. Nel caso del rilascio e dell'aggiunta non c'è nulla da confrontare, per i campi che sono stati spostati o aggregati faccio calcoli nella vista per fornire le informazioni corrette per il confronto.
Il UNION
confronto mi mostra solo le righe con differenze, quindi non appena i dati sono corretti ottengo un set di risultati vuoto.