2012-11-29 121 views
15

プロダクションサーバーにデータをインポートしています。私のパッケージでは、データが読み込まれる前に生のテーブルを整理します。いずれかのケースパッケージが失敗した場合。 SSISで生のテーブルデータをロールバックする方法SSISでシーケンスコンテナ(Forループシーケンス、Foreachループ)を使用することによりssisでトランザクションをロールバックする方法は?

答えて

22

、あなたはTransactionOptionと呼ばれる性質を利用することができます。これにより、パッケージ内のタスクのトランザクション動作を指定したり、タスクが失敗した場合にロールバックするパッケージ自体を指定することができます。

たとえば、タスクをシーケンスコンテナに貼り付けてTransactionOption=Requiredに設定し、コンテナ内のすべてのタスクをTransactionOption=Supportedに設定すると、それらはすべてシーケンスコンテナで開始されたトランザクションに参加し、失敗した場合、トランザクションはロールバックする。

TransactionOptionプロパティhereの説明を読んだり、walkthrough hereに従ってこれを実装する方法をご覧ください。

EDIT:もう一つの良いwalkthrough (with screenshots) here

+0

性能はどのように? – Dinesh

+0

トランザクションのサイズとログの記録方法によって異なります。何時間もかかる膨大なトランザクションを実行していて失敗した場合でも、ずっと前からロールバックしている可能性があります。 – GShenanigan

+0

とてもありがとうございました。 – Dinesh

関連する問題