次の方法で共有


優先順位制約

優先順位制約は、パッケージ内の実行可能ファイル、コンテナー、およびタスクをリンクして制御フローを作成し、実行可能ファイルを実行するかどうかを決定する条件を指定します。 実行可能ファイルには、For ループ コンテナー、Foreach ループ コンテナー、シーケンス コンテナー、タスク、またはイベント ハンドラーを設定できます。 また、イベント ハンドラーは優先順位制約を使用して実行可能ファイルをリンクし、制御フローを作成します。

優先順位制約は、優先実行可能オブジェクトと制約付きの実行可能オブジェクトを連結します。 優先実行可能オブジェクトは制約付きの実行可能オブジェクトの前に実行され、優先実行可能オブジェクトの実行結果により、制約付きの実行可能オブジェクトを実行するかどうかが決まる場合があります。 次の図は、優先順位制約によってリンクされた 2 つの実行可能ファイルを示しています。

優先順位制約によってリンクされた実行可能ファイル

直線的な制御フロー、つまり分岐のない制御フローでは、優先順位制約のみがタスクの実行順序を制御します。 制御フローに分岐がある場合には、 Integration Services ランタイム エンジンが、分岐の直後に続くタスクとコンテナーの実行順序を決定します。 ランタイム エンジンは、制御フロー内で連結されていないワークフローの実行順序も決定します。

Integration Services のアーキテクチャではコンテナーを入れ子にできるので、1 つのタスクのみをカプセル化するタスク ホスト コンテナーを除き、すべてのコンテナーに他のコンテナーと独自の制御フローを含めることができます。 For ループ コンテナー、Foreach ループ コンテナー、およびシーケンス コンテナーには、タスクとその他のコンテナーを複数含めることができます。さらに、そのコンテナーにも複数のタスクとコンテナーを含めることができます。 たとえば、スクリプト タスクとシーケンス コンテナーを持つパッケージに、そのスクリプト タスクとシーケンス コンテナーをリンクする優先順位制約を含めます。 シーケンス コンテナーには 3 つのスクリプト タスクが含まれ、その優先順位制約は 3 つのスクリプト タスクをリンクして制御フローを作成します。 次の図は、2 レベルの入れ子構造のパッケージの優先順位制約を示しています。

パッケージの優先順位制約

パッケージは、 SSIS コンテナー階層の最上層にあるため、複数のパッケージを優先順位制約によってリンクすることはできません。ただし、パッケージ実行タスクをパッケージに追加して、別のパッケージを間接的に制御フローにリンクできます。

優先順位制約は、次の方法で構成できます。

  • 評価操作を指定します。 優先順位制約は、制約値および式の両方、またはいずれか 1 つを使用して、制約付き実行可能ファイルを実行するかどうかを決定します。

  • 優先順位制約で実行結果を使用する場合、成功、失敗、完了のいずれかの実行結果を指定できます。

  • 優先順位制約で実行結果を使用する場合、ブール型に評価される式を指定できます。

  • 優先順位制約を単独で評価するか、制約付き実行可能ファイルに適用する別の制約と共に評価するかを指定します。

評価操作

Integration Services には、次の評価操作が用意されています。

  • 優先順位付き実行可能ファイルの実行結果のみを使用して、制約付き実行可能ファイルを実行するかどうかを決定する制約。 優先順位付き実行可能ファイルの実行結果には、完了、成功、または失敗を設定できます。 これは既定の操作です。

  • 評価する式。これを使用して制約付き実行可能ファイルを実行するかどうかを決定します。 式が TRUE に評価された場合、制限付き実行可能ファイルは実行されます。

  • 優先順位付き実行可能ファイルの実行結果と、式を評価した戻り結果の両方を必須とする、式および制約。

  • 優先順位付き実行可能ファイルの実行結果か、式を評価した戻り結果を使用する、式または制約。

SSIS デザイナーでは、優先順位制約の種類を色で識別します。 成功制約は緑、失敗制約は赤、完了制約は青で表示されます。 SSIS デザイナーで制約の種類を示すテキスト ラベルを表示するには、 SSIS デザイナーのユーザー補助機能を構成する必要があります。

式は、有効な SSIS の式である必要があります。この式には、関数、演算子、システム関数およびカスタム関数を含めることができます。 詳細については、「Integration Services (SSIS) の式」および「Integration Services (SSIS) の変数」を参照してください。

実行結果

優先順位制約は、次の実行結果を単独で、または式との組み合わせで使用できます。

  • 完了。制約付き実行可能ファイルを実行するには、結果にかかわらず優先順位付き実行可能ファイルが完了することだけが必要です。

  • 成功。制約付き実行可能ファイルを実行するには、優先順位付き実行可能ファイルが正常に完了する必要があります。

  • 失敗。制約付き実行可能ファイルを実行するには、優先順位付き実行可能ファイルが失敗する必要があります。

注意

同じ Precedence Constraint コレクションのメンバーである優先順位制約のみが、論理 AND 条件でグループ化できます。 たとえば、2 つの Foreach ループ コンテナーの優先順位制約を組み合わせることはできません。

優先順位制約の構成

プロパティを設定するには SSIS デザイナーから行うか、またはプログラムによって設定します。

SSIS Designerで設定できるプロパティの詳細については、「優先順位制約エディター」を参照してください。

プログラムによってこれらのプロパティを設定する方法については、 PrecedenceConstraint」を参照してください。

SSIS Designerでこれらのプロパティを設定する方法の詳細については、次のいずれかのトピックをクリックしてください。

social.technet.microsoft.com の技術記事「 SSIS 式の例

参照

優先順位制約に式を追加する複数の優先順位制約