制御フロー
パッケージは、制御フローと、オプションで含まれる 1 つ以上のデータ フローから構成されます。 SQL Server Integration Services に用意されている制御フロー要素は、パッケージ内の構造を提供するコンテナー、機能を提供するタスク、および優先順位制約の 3 種類です。優先順位制約は、実行ファイル、コンテナー、タスクを連結して正しく順序付けされた制御フローを作成するために使用されます。
詳細については、「優先順位制約」、「Integration Services コンテナー」、および「Integration Services タスク」を参照してください。
次の図は、1 つのコンテナーと 6 つのタスクで構成される制御フローを示しています。 タスクのうち 5 つはパッケージ レベルで定義され、残りの 1 つのタスクはコンテナー レベルで定義されています。 タスクは、コンテナーの内部にあります。
Integration Services のアーキテクチャでは入れ子のコンテナーがサポートされており、制御フローには複数のレベルで入れ子になったコンテナーを含めることができます。 たとえば、パッケージには Foreach ループ コンテナーなどのコンテナーを含めることができ、Foreach ループ コンテナーには、さらに別の Foreach ループ コンテナーなどを含めることができます。
また、イベント ハンドラーにも、同じ種類の制御フローの要素を使用して作成される制御フローが含まれます。
制御フローの実装
パッケージの制御フローを作成するには、SSIS デザイナーの [制御フロー] タブを使用します。 [制御フロー] タブがアクティブになっている場合、ツールボックスには、制御フローに追加できるタスクとコンテナーが表示されます。
次の図は、制御フロー デザイナーに表示された、簡単なパッケージの制御フローを示しています。 この図で表示されている制御フローは、パッケージレベルの 3 つのタスク、および 3 つのタスクが含まれるパッケージレベルの 1 つのコンテナーで構成されています。 タスクとコンテナーは、優先順位制約を使用して連結されます。
制御フローを作成するには、次の作業を行います。
パッケージ内で繰り返すワークフローを実装するコンテナー、または制御フローをサブセットに分割するコンテナーを追加します。
データ フローのサポート、データの準備、ワークフローとビジネス インテリジェンス機能の実行、およびスクリプトの実装を行うタスクを追加します。
Integration Services には、パッケージのビジネス要件を満たす制御フローを作成するための、さまざまなタスクが含まれています。 パッケージでデータを処理する必要がある場合、制御フローには少なくとも 1 つのデータ フロー タスクを含める必要があります。 たとえば、データの抽出、データ値の集計、およびデータ ソースへの結果の書き込みをパッケージで行う必要がある場合などです。 詳細については、「Integration Services タスク」および「制御フローのタスクまたはコンテナーを追加または削除する」を参照してください。
優先順位制約を使用してコンテナーとタスクを連結し、順序付けされた制御フローを作成します。
[制御フロー] タブのデザイン画面にタスクまたはコンテナーを追加すると、SSIS デザイナーは、アイテムにコネクタを自動的に追加します。 パッケージに 2 つ以上のアイテム、つまりタスクまたはコンテナーが含まれている場合、コネクタを 1 つのアイテムから別のアイテムにドラッグすると、それらを制御フローに結合できます。
2 つのアイテム間のコネクタは、優先順位制約を表します。 優先順位制約では、連結された 2 つのアイテムの関連性を定義します。 ここでは、実行時にタスクとコンテナーが実行される順序、およびタスクとコンテナーが実行される条件を指定します。 たとえば、優先順位制約は、あるタスクが成功した場合にのみ、制御フロー内の次のタスクが実行されるように指定できます。 詳細については、「優先順位制約」を参照してください。
接続マネージャーを追加します。
多くのタスクではデータ ソースに接続する必要があるため、タスクに必要な接続マネージャーをパッケージに追加する必要があります。 使用する列挙子の型に応じて、Foreach ループ コンテナーにも接続マネージャーが必要となる場合があります。 接続マネージャーは、制御フローをアイテム別に作成するときに追加できます。または、制御フローの作成を開始する前に追加することもできます。 詳細については、「Integration Services (SSIS) の接続」および「接続マネージャーを作成する」を参照してください。
また、SSIS デザイナーには、デザイン画面を管理したり、制御フローを自己文書化するための、多数のデザイン時機能も含まれています。
関連タスク
関連コンテンツ
|