システム変数

SQL ServerIntegration Services では、実行中のパッケージとそのオブジェクトに関する情報を格納する、システム変数のセットが用意されています。これらの変数は、式およびプロパティ式の内部で使用でき、パッケージ、コンテナ、タスク、およびイベント ハンドラをカスタマイズできます。

すべての変数 (システム変数とユーザー定義変数) を SQL 実行タスクが使用するパラメータ バインドで使用して、パラメータに変数をマップできます。

パッケージ用システム変数

次の表では、Integration Services がパッケージ用に提供するシステム変数について説明します。

システム変数

データ型

説明

CancelEvent

Int32

タスクがシグナルを送信して実行を停止する必要があることを示す、Windows イベント オブジェクトへのハンドルです。

CreationDate

DateTime

パッケージが作成された日付です。

CreatorComputerName

String

パッケージが作成されたコンピュータです。

CreatorName

String

パッケージの構築者の名前です。

ExecutionInstanceGUID

String

実行中のパッケージのインスタンスの一意識別子です。

InteractiveMode

Boolean

パッケージが対話モードで実行されているかどうかを示します。SSIS デザイナでパッケージを実行中の場合、このプロパティは True に設定されます。DTExecコマンド プロンプト ユーティリティを使用してパッケージを実行中の場合、プロパティは False に設定されます。

LocaleId

Int32

パッケージで使用するロケールです。

MachineName

String

パッケージが実行されているコンピュータの名前です。

OfflineMode

Boolean

パッケージがオフライン モードかどうかを示します。オフライン モードでは、データ ソースへの接続は取得されません。

PackageID

String

パッケージの一意識別子です。

PackageName

String

パッケージの名前です。

StartTime

DateTime

パッケージの実行を開始した時刻です。

UserName

String

パッケージを開始したユーザーのアカウントです。ユーザー名は、ドメイン名によって修飾されます。

VersionBuild

Int32

パッケージのバージョンです。

VersionComment

String

パッケージのバージョンに関するコメントです。

VersionGUID

String

バージョンの一意識別子です。

VersionMajor

Int32

パッケージのメジャー バージョンです。

VersionMinor

Int32

パッケージのマイナー バージョンです。

コンテナ用システム変数

次の表では、Integration Services が、For ループ コンテナ、Foreach ループ コンテナ、およびシーケンス コンテナ用に提供するシステム変数について説明します。

システム変数

データ型

説明

コンテナ

LocaleId

Int32

コンテナが使用するロケールです。

For ループ コンテナ

Foreach ループ コンテナ

シーケンス コンテナ

タスク用システム変数

次の表では、Integration Services がタスク用に提供するシステム変数について説明します。

システム変数

データ型

説明

CreationName

String

タスクの名前です。

LocaleId

Int32

タスクが使用するロケールです。

TaskID

String

タスク インスタンスの一意識別子です。

TaskName

String

タスク インスタンスの名前です。

TaskTransactionOption

Int32

タスクが使用するトランザクションのオプションです。

イベント ハンドラ用システム変数

次の表では、Integration Services がイベント ハンドラ用に提供するシステム変数について説明します。すべての変数がすべてのイベント ハンドラで使用できるわけではありません。

システム変数

データ型

説明

イベント ハンドラ

Cancel

Boolean

エラー、警告、またはクエリのキャンセルが発生したときに、イベント ハンドラが実行を停止するかどうかを示します。

OnError イベント ハンドラ

OnWarning イベント ハンドラ

OnQueryCancel イベント ハンドラ

ErrorCode

Int32

エラー識別子です。

OnError イベント ハンドラ

OnInformation イベント ハンドラ

OnWarning イベント ハンドラ

ErrorDescription

String

エラーの説明です。

OnError イベント ハンドラ

OnInformation イベント ハンドラ

OnWarning イベント ハンドラ

ExecutionStatus

Boolean

現在の実行ステータスです。

OnExecStatusChanged イベント ハンドラ

ExecutionValue

DBNull

実行値です。

OnTaskFailed イベント ハンドラ

LocaleId

Int32

イベント ハンドラが使用するロケールです。

すべてのイベント ハンドラ

PercentComplete

Int32

完了済みの作業の割合です。

OnProgress イベント ハンドラ

ProgressCountHigh

Int32

OnProgress イベントによって処理される操作の総数を示す、64 ビット値の上位部分です。

OnProgress イベント ハンドラ

ProgressCountLow

Int32

OnProgress イベントによって処理される操作の総数を示す、64 ビット値の下位部分です。

OnProgress イベント ハンドラ

ProgressDescription

String

進行状況の説明です。

OnProgress イベント ハンドラ

Propagate

Boolean

イベントが、上位レベルのイベント ハンドラに反映されるかどうかを示します。

注意注意
変数 Propagate の値は、パッケージの検証中は無視されます。 子パッケージ内で Propagate を False に設定しても、イベントは親パッケージに反映されます。親パッケージがイベントを処理しないようにするには、パッケージ実行タスクの DisableEventHandlers プロパティを True に設定します。

すべてのイベント ハンドラ

SourceDescription

String

イベントを発生させたイベント ハンドラ内の実行可能ファイルの説明です。

すべてのイベント ハンドラ

SourceID

String

イベントを発生させたイベント ハンドラ内の実行可能ファイルの一意識別子です。

すべてのイベント ハンドラ

SourceName

String

イベントを発生させたイベント ハンドラ内の実行可能ファイルの名前です。

すべてのイベント ハンドラ

VariableDescription

String

変数の説明です。

OnVariableValueChanged イベント ハンドラ

VariableID

String

変数の一意識別子です。

OnVariableValueChanged イベント ハンドラ

パラメータ バインドでのシステム変数の使用

パッケージの実行時に、システム変数の値をテーブルに保存すると役立つことがよくあります。たとえば、テーブルを動的に作成し、このテーブルを作成したパッケージ実行インスタンスの GUID をテーブル列に書き込むパッケージなどです。

システム変数を使用して、SQL 実行タスクが使用する SQL ステートメントのパラメータにマップする場合、各パラメータ バインドのデータ型を、システム変数のデータ型に設定することが重要です。このように設定しないと、システム変数の値が誤って解釈されることがあります。たとえば、ExecutionInstanceGUID システム変数は文字列データ型で、実行中のパッケージのインスタンスの GUID の文字列表現を保持しますが、パラメータ バインドに GUID データ型を使用すると、パッケージのインスタンスの GUID は誤って解釈されます。

この規則は、ユーザー定義変数にも当てはまります。ただし、システム変数のデータ型は変更できないため、システム変数を使用する場合はそのデータ型に合わせた調整が必要ですが、ユーザー定義変数にはそれに比べると高い柔軟性があります。パラメータ バインドで使用するユーザー定義変数は、通常、マップ先パラメータのデータ型と互換性のあるデータ型で定義します。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを購読します。