Chiunque lavori con SQL Server avrà prima o poi avuto l'esigenza di allineare i dati presenti in una tabella con quelli di un'altra. L'esigenza può essere facilmente risolta utilizzando una serie di istruzioni T-SQL in grado di eliminare i record non più necessari, aggiornare eventualmente quelli esistenti ed inserire i nuovi. Nel caso in cui le tabelle da allineare siano parecchie può tornare utile ricorrere a tool di terze parti tra cui il mio preferito è SQL Data Compare prodotto dalla RedGate.
Entrambe queste soluzioni, però, sono attuabili se l'origine e la destinazione sono connessi fra loro. Nel caso in cui si debba procedere a generare degli script per essere eseguiti in un secondo tempo la cosa si complica. L'unico metodo che conoscevo fino a qualche giorno fa era utilizzare questa stored procedure di Narayana Vyas Kondreddi
le cui funzionalità sono state incapsulate da Andrea Montanari nel suo Dba Manager.
Ho scoperto recentemente SQL Scripter, scaricabile liberamente dal link
che permette non solo la generazione dello script di INSERT dei dati, ma anche l'inserimento condizionato dall'assenza del record, l'aggiornamento dei record modificati o l'eliminazione dei record non più presenti. Decisamente utile, anche in considerazione del fatto che non richiede alcun setup ne lato client e ne, tantomeno, sul server...
Bye