Integration Services (SSIS) パラメーター
Integration Services (SSIS) パラメーターを使用すると、パッケージの実行時にパッケージ内のプロパティに値を割り当てることができます。 プロジェクト パラメーターはプロジェクト レベル、パッケージ パラメーターはパッケージ レベルで作成できます。 プロジェクト パラメーターは、プロジェクトが受け取る外部入力をプロジェクト内の 1 つまたは複数のパッケージに指定するために使用します。 パッケージ パラメーターを使用すると、パッケージを編集したり再配置したりせずにパッケージ実行を変更できます。
SQL Server Data Tools で、[Project.params] ウィンドウを使用して、プロジェクト パラメーターを作成、変更、または削除します。 SSIS デザイナーの [パラメーター] タブを使用して、パッケージ パラメーターを作成、変更、および削除します。 [パラメーター化] ダイアログ ボックスを使用して、新規または既存のパラメーターをタスクのプロパティと関連付けます。 [Project.params] ウィンドウと [パラメーター] タブの使用の詳細については「パラメーターを作成する」を参照してください。 [パラメーター化] ダイアログ ボックスの詳細については、「[パラメーター化] ダイアログ ボックス」を参照してください。
パラメーターとパッケージ配置モデル
通常、パッケージ配置モデルを使用してパッケージを配置する場合、パラメーターではなく構成を使用する必要があります。
パッケージ配置モデルを使用してパラメーターを含むパッケージを配置し、パッケージを実行した場合、実行時にパラメーターは呼び出されません。 パッケージにパッケージ パラメーターが含まれ、パッケージ内の式でパラメーターが使用されている場合、実行時に結果の値が適用されます。 パッケージにプロジェクト パラメーターが含まれている場合、パッケージの実行は失敗する可能性があります。
パラメーターとプロジェクト配置モデル
Integration Services サーバーにプロジェクトを配置する場合は、ビュー、ストアド プロシージャ、および SQL Server Management Studio の UI を使用してプロジェクト パラメーターおよびパッケージ パラメーターを管理します。 詳細については、次の各トピックを参照してください。
パラメーター値
パラメーターに最大 3 つの型の値を割り当てることができます。 パッケージ実行が開始されると、パラメーターに 1 つの値が使用され、パラメーターはその最終的なリテラル値に解決されます。
次の表に、値の型の一覧を示します。
値の名前 |
説明 |
値の型 |
---|---|---|
実行値 |
パッケージ実行の特定のインスタンスに割り当てられる値です。 この割り当ては他のすべての値より優先されますが、適用されるのは、パッケージ実行の 1 つのインスタンスのみです |
リテラル |
サーバーの値 |
プロジェクトが Integration Services サーバーに配置された後にプロジェクトのスコープ内にあるパラメーターに割り当てられる値です。 この値は、設計上の既定値より優先されます。 |
リテラルまたは環境変数の参照 |
設計上の値 |
SQL Server Data Tools でプロジェクトを作成または編集するときにパラメーターに割り当てられる値です。 この値はプロジェクトと共に保持されます。 |
リテラル |
1 つのパラメーターを使用して、複数のパッケージのプロパティに値を割り当てることができます。 1 つのパッケージのプロパティには、1 つのパラメーターの値のみを割り当てることができます。
実行とパラメーター値
実行とは、パッケージ実行の 1 つのインスタンスを表すオブジェクトです。 実行を作成するときに、実行パラメーター値など、パッケージの実行に必要なすべての詳細情報を指定します。 既存の実行のパラメーター値を変更することもできます。
実行パラメーター値を明示的に設定すると、その値はその特定の実行インスタンスにのみ適用できます。 実行値は、サーバーの値または設計上の値の代わりに使用されます。 実行値を明示的に設定せず、サーバーの値が指定されている場合は、サーバーの値が使用されます。
パラメーターが必須とマークされている場合、サーバーの値または実行値をそのパラメーターに指定する必要があります。 それ以外の場合、対応するパッケージは実行されません。 デザイン時にパラメーターに既定値が設定されていても、プロジェクトが配置されると使用されることはありません。
環境変数
パラメーターが環境変数を参照する場合、その変数のリテラル値は、指定した環境参照を通じて解決され、パラメーターに適用されます。 パッケージ実行に使用される最終的なリテラル パラメーター値は、実行パラメーター値と呼ばれます。 [実行] ダイアログ ボックスを使用して、実行の環境参照を指定します。
プロジェクト パラメーターで環境変数を参照していて、変数のリテラル値を実行時に解決できない場合、設計上の値が使用されます。 サーバーの値は使用されません。
パラメーター値に割り当てられている環境変数を表示するには、catalog.object_parameters ビューに対してクエリを実行します。 詳細については、「catalog.object_parameters (SSISDB データベース)」を参照してください。
実行パラメーター値の決定
次の Transact-SQL ビューとストアド プロシージャを使用して、パラメーター値を表示および設定できます。
catalog.execution_parameter_values (SSISDB データベース) (ビュー)
特定の実行で使用される実際のパラメーター値を示します。catalog.get_parameter_values (SSISDB データベース) (ストアド プロシージャ)
指定されたパッケージと環境参照の実際の値を解決して示します。catalog.object_parameters (SSISDB データベース) (ビュー)
設計上の既定値とサーバーの既定値を含め、Integration Services カタログのすべてのパッケージおよびプロジェクトのパラメーターとプロパティを表示します。catalog.set_execution_parameter_value (SSISDB データベース)
Integration Services カタログの実行のインスタンスにパラメーターの値を設定します。
SQL Server データ ツール (SSDT) の [パッケージの実行] ダイアログ ボックスを使用してパラメーター値を変更することもできます。 詳細については、「[パッケージの実行] ダイアログ ボックス」を参照してください。
dtexec の /Parameter オプションを使用してパラメーター値を変更することもできます。 詳細については、「dtexec ユーティリティ」を参照してください。
パラメーターの検証
パラメーター値を解決できない場合、対応するパッケージ実行は失敗します。 失敗を回避するために、SQL Server データ ツール (SSDT) の [検証] ダイアログ ボックスを使用してプロジェクトとパッケージを検証できます。 検証を使用すると、すべてのパラメーター値に必要な値が設定されているか、または特定の環境参照で必要な値を解決できるかを確認できます。 検証では、その他の一般的なパッケージの問題も確認されます。
詳細については、「[検証] ダイアログ ボックス」を参照してください。
パラメーターの例
この例では、pkgOptions という名前のパラメーターについて説明します。これは、このパラメーターが存在するパッケージのオプションを指定するために使用されます。
設計時に、SQL Server Data Tools で作成されたパラメーターには、既定値 1 が割り当てられます。 この既定値は、設計上の既定値と呼ばれます。 プロジェクトが SSISDB カタログに配置され、このパラメーターに他の値が割り当てられなかった場合は、パッケージの実行中に、pkgOptions パラメーターに対応するパッケージ プロパティに値 1 が割り当てられます。 設計上の既定値は、プロジェクトと共にライフ サイクル全体で保持されます。
特定のパッケージ実行インスタンスの準備中には、pkgOptions パラメーターに値 5 が割り当てられます。 この値は実行値と呼ばれます。これは、その特定の実行インスタンスのパラメーターにのみ適用されるためです。 実行が開始されると、pkgOptions パラメーターに対応するパッケージ プロパティに値 5 が割り当てられます。
関連タスク
関連コンテンツ
mattmasson.com のブログ「SSIS 簡単なヒント: 必要なパラメーター」
|