パッケージの制御フローの作成

SQL Server 2005 Integration Services (SSIS) パッケージの制御フローは、パッケージとサービスの構造をタスクに提供するコンテナ、パッケージの機能を提供するタスク、およびコンテナとタスクを連結して制御フローを作成する優先順位制約など、さまざまな種類の制御フローの要素を使用して作成されます。

パッケージの制御フローを作成するには、SSIS デザイナの [制御フロー] タブのデザイン画面である制御フロー デザイナを使用します。

制御フローを作成するには、次の作業を行います。

  • パッケージ内で繰り返すワークフローを実装するコンテナ、または制御フローをサブセットに分割するコンテナを追加します。
  • データ フローのサポート、データの準備、ワークフローとビジネス インテリジェンス機能の実行、およびスクリプトの実装を行うタスクを追加します。
  • 優先順位制約を使用してコンテナとタスクを連結し、順序付けされた制御フローを作成します。

データ ソースに接続するタスクとコンテナが制御フローに含まれる場合は、さらに接続マネージャをパッケージに追加する必要があります。接続マネージャは、制御フロー デザイナで作業中に追加できますが、さらに、[データ フロー] または [イベント ハンドラ] タブがアクティブのときにも追加できます。

また、SSIS デザイナには、デザイン画面を管理したり、制御フローを自己文書化するための、多数のデザイン時機能も含まれています。

制御フロー デザイナの使用

[制御フロー] タブがアクティブの場合、SSIS デザイナには、パッケージの制御フローを作成するためのデザイン画面が表示されます。[接続マネージャ] 領域では、パッケージで使用する接続マネージャを追加または変更でき、[ツールボックス] には [制御フロー項目][メンテナンス プランのタスク] が一覧表示されます。[ツールボックス] の [制御フロー項目] ノードには、多くの種類のタスクとコンテナが一覧表示されます。これに対して、[メンテナンス プランのタスク] ノードには、SQL Server データベースとジョブをメンテナンスするためのタスクのみが一覧表示されます。

次の図は、制御フロー デザイナに表示された、簡単なパッケージの制御フローを示しています。この図で表示されている制御フローは、パッケージレベルの 3 つのタスク、および 3 つのタスクが含まれるパッケージレベルの 1 つのコンテナで構成されています。タスクとコンテナは、優先順位制約を使用して連結されます。

SSIS デザイナの [制御フロー] タブ

コンテナの追加と構成

Integration Services には、制御フロー内で使用できる 3 種類のコンテナが含まれています。

  • Foreach ループ コンテナ。列挙子を使用してループを実装する、繰り返す制御フローを作成するためのコンテナです。たとえば、Foreach ループ コンテナは、Foreach File 列挙子を使用して、フォルダ内のすべてのファイルで動作を実行するように構成できます。詳細については、「Foreach ループ コンテナ」および「制御フローへの列挙の追加」を参照してください。
  • For ループ コンテナ。条件を評価してループを実装する、繰り返す制御フローを作成するためのコンテナです。たとえば、For ループ コンテナは、タスクを 7 回繰り返すように構成できます。詳細については、「For ループ コンテナ」および「制御フローへの繰り返しの追加」を参照してください。
  • シーケンス コンテナ。制御フローのサブセットを作成して、複数のタスクを 1 つの単位として管理するためのコンテナです。たとえば、シーケンス コンテナを無効にすると、そのコンテナ内のすべてのタスクを無効にできます。詳細については、「シーケンス コンテナ」および「制御フロー内でのシーケンスの使用」を参照してください。

タスクの追加と構成

Integration Services には、パッケージのビジネス要件を満たす制御フローを作成するための、さまざまなタスクが含まれています。パッケージでデータを処理する必要がある場合、制御フローには少なくとも 1 つのデータ フロー タスクを含める必要があります。たとえば、データの抽出、データ値の集計、およびデータ ソースへの結果の書き込みをパッケージで行う必要がある場合などです。詳細については、「Integration Services タスク」および「制御フローへのタスクの追加」を参照してください。

タスクとコンテナの連結

[制御フロー] タブのデザイン画面にタスクまたはコンテナを追加すると、SSIS デザイナは、アイテムにコネクタを自動的に追加します。パッケージに 2 つ以上のアイテム、つまりタスクまたはコンテナが含まれている場合、コネクタを 1 つのアイテムから別のアイテムにドラッグすると、それらを制御フローに結合できます。

2 つのアイテム間のコネクタは、優先順位制約を表します。優先順位制約では、連結された 2 つのアイテムの関連性を定義します。ここでは、実行時にタスクとコンテナが実行される順序、およびタスクとコンテナが実行される条件を指定します。たとえば、優先順位制約は、あるタスクが成功した場合にのみ、制御フロー内の次のタスクが実行されるように指定できます。詳細については、「優先順位制約」および「タスクおよびコンテナでの優先順位制約の設定」を参照してください。

接続マネージャの追加

多くのタスクではデータ ソースに接続する必要があるため、タスクに必要な接続マネージャをパッケージに追加する必要があります。使用する列挙子の型に応じて、Foreach ループ コンテナにも接続マネージャが必要となる場合があります。接続マネージャは、制御フローをアイテム別に作成するときに追加できます。または、制御フローの作成を開始する前に追加することもできます。詳細については、「Integration Services の接続」および「接続マネージャの作成」を参照してください。

デザイン時機能

SSIS デザイナには、制御フロー用に 2 つのデザイン時機能が含まれています。

  • 制御フローの一部を、折りたたみ可能なグループ化構造に含め、デザイン画面の領域を節約します。詳細については、「タスクとコンテナのグループ化」を参照してください。
  • デザイン画面に注釈を追加すると、パッケージを自己文書化できます。詳細については、「パッケージの注釈の使用」を参照してください。

参照

処理手順

パッケージのイベント ハンドラの作成

概念

パッケージのデータ フローの作成
Integration Services のアーキテクチャ

その他の技術情報

SSIS デザイナでのパッケージの作成

ヘルプおよび情報

SQL Server 2005 の参考資料の入手