Share via


トランザクションの継承

パッケージでパッケージ実行タスクを使用して、別のパッケージを実行できます。パッケージ実行タスクで実行される子パッケージでは、独自のパッケージ トランザクションを作成する場合もあれば、親パッケージのトランザクションを継承する場合もあります。

次の 2 つの条件に該当する場合、子パッケージは親パッケージのトランザクションを継承できます。

  • 子パッケージが親パッケージのパッケージ実行タスクによって呼び出される。

  • 子パッケージを呼び出すパッケージ実行タスクも、親パッケージのトランザクションに参加している。

子パッケージ自身がトランザクションに参加していなければ、子パッケージのコンテナやタスクは、親パッケージから継承されるトランザクションに参加できません。

次のダイアグラムには、3 個のパッケージがあり、すべてトランザクションを使用します。各パッケージには、複数のタスクが含まれています。トランザクションの動作がわかりやすいように、パッケージ実行タスクは 1 つだけ示されています。パッケージ A がパッケージ B および C を実行します。次に、パッケージ B がパッケージ D および E を実行し、パッケージ C がパッケージ F を実行します。

パッケージとタスクのトランザクション属性は次のとおりです。

  • パッケージ A および C の TransactionOption プロパティは Required に設定されています。

  • パッケージ B、D、および F と、パッケージ実行タスク B、パッケージ実行タスク D、およびパッケージ実行タスク F の TransactionOption プロパティは Supported に設定されています。

  • パッケージ E、およびパッケージ実行タスク C、パッケージ実行タスク E の TransactionOption プロパティは NotSupported に設定されています。

トランザクションの継承フロー

TransactionOption プロパティが Supported に設定されているのは子パッケージ B、D、および F だけなので、親パッケージのトランザクションを継承できるのはこれらのパッケージだけです。パッケージ B および D は、パッケージ A が開始したトランザクションを継承します。パッケージ F は、パッケージ C が開始したトランザクションを継承します。

パッケージ A および C は、TransactionOption プロパティが Required に設定されているため、独自のトランザクションを制御します。さらに、パッケージ実行タスク C の TransactionOption プロパティが NotSupported に設定されているため、パッケージ C は、パッケージ A が開始したトランザクションを継承しません。

パッケージ E はトランザクションを使用しません。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを購読します。