1

SSIS でのトランザクション管理に MSDTC を使用しないことを計画しており、代わりに Begin transaction と commit transaction を使用してローカル トランザクションを使用したいと考えています。設計上は、1 つの問題を除いて問題ないようです。SSIS パッケージがいずれかのタスクで失敗した場合、エラー テーブルにレコードを挿入するエラー イベント ハンドラーがあります。そのため、SSIS がトランザクションをロールバックすると、エラー処理ルーチンもロールバックされます。しかし、パッケージ実行の開始時にトランザクションを開始すると、ネストされたトランザクションが機能しないため、これを細かく制御する方法がわかりません。

何かご意見は?

4

2 に答える 2

0

これらのトランザクションとエラー処理を SSIS で処理するために、MSDTC に切り替えました。この新しいアプローチは非常にクリーンです。SSIS で関連するフローを txn が必要かどうかをマークするだけで完了です。エラーが発生した場合にロールバックしたくないので、エラー処理ルーチンを「txn not supported」とマークしました。個々のクライアント ワークステーションにソリューションをバンドルしているため、この場合のインフラストラクチャ オーバーヘッドを除いて、すべて問題ないように見えます。

どうもありがとう

于 2010-11-24T18:58:15.287 に答える
0

エラー処理をサポートする TRANSACTION COMMITT で TRY-CATCH ブロックを使用する方法を説明するMSDNの記事を次に示します。

ネストされたトランザクションに関するコメントについては、SQL Server には実際には存在しません。Paul Randal によるこのブログ投稿を参照してください。

于 2010-11-09T21:11:09.590 に答える