2012-11-29 15 views
15

I dati sono stati importati nel server di produzione. Nel mio pacchetto pulisci le tabelle non elaborate prima del caricamento dei dati. Se il pacchetto di un caso è fallito. Come ripristinare i dati delle tabelle non elaborate in SSIS?Come eseguire il rollback della transazione in ssis?

risposta

22

Utilizzando Sequence Container (Sequenza, Ciclo For, Ciclo Foreach) in SSIS, si può fare uso di una proprietà chiamata TransactionOption. Ciò consente di specificare il comportamento transazionale delle attività nel pacchetto e il pacchetto stesso per il rollback in caso di errore.

Per esempio, se ti infili le attività in un contenitore di sequenza e impostare TransactionOption=Required, e configurare tutte le attività all'interno del contenitore per TransactionOption=Supported, saranno tutti unirsi alla transazione avviata nel contenitore di sequenza, e se qualche falliscono, la transazione verrà essere tirato indietro.

È possibile leggere una spiegazione della proprietà TransactionOption here e/o seguire lo walkthrough here per vedere come implementarlo.

EDIT: Un altro buon walkthrough (with screenshots) here

+0

Come è la performance? – Dinesh

+0

Dipende totalmente dalla dimensione della transazione e dal modo in cui è stata registrata. Se stai eseguendo una transazione massiccia che richiede ore e fallisce, potresti comunque guardare indietro da molto tempo. – GShenanigan

+0

È molto utile per me Grazie mille. – Dinesh

Problemi correlati