システム変数

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 フィードを定期受信します。