Integration Services コンテナー
適用対象: SQL Server Azure Data Factory の SSIS 統合ランタイム
コンテナーとは、パッケージに構造を提供し、タスクにサービスを提供する SQL Server Integration Services のオブジェクトのことです。 コンテナーは、パッケージ内の制御フローの反復をサポートし、タスクおよびコンテナーを意味のある作業単位にグループ化します。 コンテナーには、タスクの他に別のコンテナーを含めることができます。
パッケージには、次の目的でコンテナーが使用されます。
フォルダー内のファイル、スキーマ、 SQL Server 管理オブジェクト (SMO) オブジェクトなど、コレクション内の各要素に対してタスクを繰り返します。 たとえば、複数ファイル内に含まれる Transact-SQL ステートメントをパッケージで実行できます。
指定された式が falseに評価されるまで、タスクを繰り返します。 たとえば、パッケージは各種電子メール メッセージを各曜日に 1 回、週に合計 7 回送信できます。
ある単位として処理の成否を評価する必要のあるタスクおよびコンテナーをグループ化します。 たとえば、パッケージはデータベース テーブルの行を削除および追加するタスクをグループ化し、1 つのタスクが失敗したときにタスク全体をコミットまたはロールバックできます。
コンテナーの種類
Integration Services では、パッケージを構築するために 4 種類のコンテナーが用意されています。 次の表に、使用できるコンテナーの種類の一覧を示します。
コンテナー | 説明 |
---|---|
Foreach ループ コンテナー | 列挙子を使用して、制御フローを繰り返し実行します。 |
For ループ コンテナー | 条件をテストして、制御フローを繰り返し実行します。 |
シーケンス コンテナー | タスクおよびコンテナーをグループ化して、パッケージ制御フローのサブセットである制御フローにします。 |
タスク ホスト コンテナー | 単一のタスクにサービスを提供します。 |
パッケージおよびイベント ハンドラーも、コンテナーの種類に含まれます。 詳細については、「Integration Services (SSIS) のパッケージ」および「Integration Services (SSIS) のイベント ハンドラー」を参照してください。
コンテナー プロパティのまとめ
すべての種類のコンテナーには、一連の共通のプロパティがあります。 Integration Services に用意されているグラフィック ツールを使用してパッケージを作成すると、Foreach ループ、For ループ、およびシーケンスの各コンテナーに対して、次のプロパティが [プロパティ] ウィンドウに一覧表示されます。 タスク ホスト コンテナーのプロパティは、タスク ホストがカプセル化しているタスクの構成の一環として、 タスクを構成するときに設定します。
プロパティ | 説明 |
---|---|
DelayValidation | コンテナーの検証を実行時まで遅らせるかどうかを示すブール値です。 このプロパティの既定値は、 Falseです。 詳細については、「DelayValidation」を参照してください。 |
説明 | コンテナーの説明です。 このプロパティに格納されるのは文字列で、空白にすることもできます。 詳細については、「Description」を参照してください。 |
Disable | コンテナーを実行するかどうかを示すブール値です。 このプロパティの既定値は、 Falseです。 詳細については、「Disable」を参照してください。 |
DisableEventHandlers | コンテナーに関連付けられているイベント ハンドラーを実行するかどうかを示すブール値です。 このプロパティの既定値は、 Falseです。 |
FailPackageOnFailure | コンテナーでエラーが発生した場合、パッケージが失敗するかどうかを示すブール値です。 このプロパティの既定値は、 Falseです。 詳細については、「FailPackageOnFailure」を参照してください。 |
FailParentOnFailure | コンテナーでエラーが発生した場合、親コンテナーが失敗するかどうかを示すブール値です。 このプロパティの既定値は、 Falseです。 詳細については、「FailParentOnFailure」を参照してください。 |
ForcedExecutionValue | ForcedExecutionValue が Trueに設定されている場合は、コンテナーのオプションの実行値を含むオブジェクトです。 このプロパティの既定値は 0です。 詳細については、「ForcedExecutionValue」を参照してください。 |
ForcedExecutionValueType | ForcedExecutionValueのデータ型。 このプロパティの既定値は Int32です。 |
ForceExecutionResult | パッケージまたはコンテナーの強制実行結果を示す値です。 有効値は、 None、 Success、 Failure、および Completionです。 このプロパティの既定値は、 Noneです。 詳細については、「ForceExecutionResult」を参照してください。 |
ForcedExecutionValue | コンテナーのオプションの実行値に特定の値を適用する必要があるかどうかを示すブール値です。 このプロパティの既定値は Falseです。 詳細については、「ForceExecutionValue」を参照してください。 |
ID | コンテナー GUID です。パッケージの作成時に割り当てられます。 このプロパティは読み取り専用です。 ID. |
IsolationLevel | コンテナー トランザクションの分離レベルです。 値は、 Unspecified、 Chaos、 ReadUncommitted、 ReadCommitted、 RepeatableRead、 Serializable、および Snapshotです。 このプロパティの既定値は Serializableです。 詳細については、「IsolationLevel」を参照してください。 |
LocaleID | Microsoft Win32 ロケールです。 このプロパティの既定値は、ローカル コンピューター上のオペレーティング システムのロケールです。 詳細については、「LocaleID」を参照してください。 |
LoggingMode | コンテナーのログ記録の動作を指定する値です。 値は、 Disabled、 Enabled、および UseParentSettingです。 このプロパティの既定値は UseParentSettingです。 詳細については、DTSLoggingMode を参照してください。 |
MaximumErrorCount | コンテナーが実行を停止するまでに発生が許可される、最大エラー数を示します。 このプロパティの既定値は 1です。 詳細については、「MaximumErrorCount」を参照してください。 |
名前 | コンテナーの名前。 詳細については、Name を参照してください。 |
TransactionOption | コンテナーに対するトランザクションの関与を示します。 値は、 NotSupported、 Supported、および Requiredです。 このプロパティの既定値は Supportedです。 詳細については、DTSTransactionOption を参照してください。 |
Foreach ループ、For ループ、シーケンス、およびタスク ホストの各コンテナーをプログラムで構成する際に使用できるすべてのプロパティの詳細については、以下の Integration Services API のトピックを参照してください。
T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop
T:Microsoft.SqlServer.Dts.Runtime.ForLoop
T:Microsoft.SqlServer.Dts.Runtime.Sequence
T:Microsoft.SqlServer.Dts.Runtime.TaskHost
コンテナーの機能を拡張するオブジェクト
コンテナーには実行可能ファイルおよび優先順位制約で構成される制御フローが含まれ、場合によってはイベント ハンドラーおよび変数が使用されています。 ただし、タスク ホスト コンテナーは単一タスクをカプセル化し、優先順位制約を使用しない、例外的なコンテナーです。
実行可能ファイル
実行可能ファイルは、コンテナー レベルのタスクおよびコンテナー内の任意のコンテナーを参照します。 Integration Services が提供するタスクおよびコンテナーのいずれか、またはカスタム タスクを実行ファイルとすることができます。 詳細については、「 Integration Services のタスク」を参照してください。
優先順位制約
優先順位制約は、同じ親コンテナー内のコンテナーとタスクを連結して、順序付けられた制御フローを作成します。 詳細については、「 優先順位制約」を参照してください。
イベント ハンドラー
コンテナー レベルのイベント ハンドラーは、コンテナーまたはそれに含まれるオブジェクトにより発生したイベントに応答します。 詳細については、「Integration Services (SSIS) のイベント ハンドラー」を参照してください。
変数
コンテナーで使用される変数には、 Integration Services が提供するコンテナー レベルのシステム変数、およびコンテナーが使用するユーザー定義の変数が含まれます。 詳細については、「 Integration Services (SSIS) の変数」を参照してください。
ブレークポイント
コンテナーにブレークポイントを設定していて、ブレークの条件が [コンテナーに OnVariableValueChanged イベントが渡されたときに停止します]である場合は、変数をコンテナーのスコープ内で定義します。