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