次の方法で共有


システム変数

更新 : 2007 年 9 月 15 日

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

すべての変数 (システム変数とユーザー定義変数) を 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

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

ms141788.note(ja-jp,SQL.90).gifメモ :

パッケージの検証中は Propagate 変数の値が無視されます。 子パッケージで PropagateFalse に設定しても、イベントは親パッケージに反映されます。親パッケージでイベントが処理されないようにするには、パッケージ実行タスクの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 コンテナ
Integration Services タスク
Integration Services のイベント ハンドラ
Integration Services の変数

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2007 年 9 月 15 日

新しい内容 :
  • 子パッケージのイベントが親パッケージに反映されないようにする方法についての注意事項を追加しました。

2005 年 12 月 5 日

新しい内容 :
  • パラメータ バインドでのシステム変数の使用に関する情報を追加しました。