2016-06-16 15 views
8

che sto usando tablediff utilità per transfert dati da fonti database Serval a un database di destinazione e ottenere un risultato che ha tutte le differenze tra i database di origine e di destinazione con qualcosa di simileCome fonte soltanto e disadattamento dati con utility tablediff

Dest. Only N'1027' N'799' N'91443' N'1'  
Mismatch N'103A' N'799' N'13010' N'1' DATE_CURRENT DATE_OPERATION MATRICULE_UTILISATEUR QTE QTE_FINAL QTE_INIT QTE_OPERATION REFERENCE_DOCUMENT TYPE_DOCUMENT 
Src. Only N'103A' N'310' N'30129' N'1'  

modo che il file SQL generato contengono delete i Dest. Only righe, update i Mismatch righe e insert le righe Src. Only

mia domanda è: c'è un modo utilizzando 012.314.per ottenere il risultato di solo Mismatch e Src. Only righe ??

+0

Ciao, hai ancora bisogno di aiuto con questo? – mvisser

risposta

4

Alla fine del comando tablediff strumento di aggiungere il seguente

-dt -et DiffResults 

lascerà cadere una tabella esistente con il nome DiffResults e crearne uno nuovo nel server di destinazione e il database. Quindi è possibile interrogare la tabella DiffResults per ottenere le righe desiderate. Nella mia prova ho eseguire il seguente

SELECT * FROM DiffResults 
WHERE MSdifftool_ErrorDescription in ('Mismatch','Src. Only') 

o

SELECT * FROM DiffResults 
WHERE MSdifftool_ErrorCode in (0,2) -- 0 is for 'Mismatch'; 1 is for 'Dest. Only' and 2 is for 'Src. Only' 

Alcuni dettagli possono essere trovati qui - https://technet.microsoft.com/en-us/library/ms162843.aspx

0

Se si desidera utilizzare i risultati di riga di comando, è possibile emettere pipe con findstr:

tablediff <your parameters> | findstr /i "^Mismatch ^Src" 
Problemi correlati