次の方法で共有


Integration Services (SSIS) パラメーター

Integration Services (SSIS) パラメーターを使用すると、パッケージの実行時にパッケージ内のプロパティに値を割り当てることができます。 " プロジェクト パラメーター " はプロジェクト レベル、" パッケージ パラメーター " はパッケージ レベルで作成できます。 プロジェクト パラメーターは、プロジェクトが受け取る外部入力をプロジェクト内の 1 つまたは複数のパッケージに指定するために使用します。 パッケージ パラメーターを使用すると、パッケージを編集したり再配置したりせずにパッケージ実行を変更できます。

SQL Server Data Tools で、 [Project.params] ウィンドウを使用して、プロジェクト パラメーターを作成、変更、または削除します。 デザイナーの [パラメーター] SSIS タブを使用して、パッケージ パラメーターを作成、変更、および削除します。 [パラメーター化] ダイアログ ボックスを使用して、新規または既存のパラメーターをタスクのプロパティと関連付けます。 [Project.params] ウィンドウと [パラメーター] タブの使用の詳細については「 Create Parameters」を参照してください。 [パラメーター化] ダイアログ ボックスの詳細については、「 Parameterize Dialog Box」を参照してください。

パラメーターとパッケージ配置モデル

通常、パッケージ配置モデルを使用してパッケージを配置する場合、パラメーターではなく構成を使用する必要があります。

パッケージ配置モデルを使用してパラメーターを含むパッケージを配置し、パッケージを実行した場合、実行時にパラメーターは呼び出されません。 パッケージにパッケージ パラメーターが含まれ、パッケージ内の式でパラメーターが使用されている場合、実行時に結果の値が適用されます。 パッケージにプロジェクト パラメーターが含まれている場合、パッケージの実行は失敗する可能性があります。

パラメーターとプロジェクト配置モデル

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 Data Tools (SSDT) ダイアログ ボックスを使用してパラメーター値を変更することもできます。 詳細については、「 Execute Package Dialog Box」を参照してください。

dtexec の /Parameter オプションを使用してパラメーター値を変更することもできます。 詳細については、「dtexec ユーティリティ」を参照してください。

パラメーターの検証

パラメーター値を解決できない場合、対応するパッケージ実行は失敗します。 失敗を回避するために、 [検証] SQL Server Data Tools (SSDT)ダイアログ ボックスを使用してプロジェクトとパッケージを検証できます。 検証を使用すると、すべてのパラメーター値に必要な値が設定されているか、または特定の環境参照で必要な値を解決できるかを確認できます。 検証では、その他の一般的なパッケージの問題も確認されます。

詳細については、「 Validate Dialog Box」を参照してください。

パラメーターの例

この例では、 pkgOptions という名前のパラメーターについて説明します。これは、このパラメーターが存在するパッケージのオプションを指定するために使用されます。

設計時に、 SQL Server Data Toolsで作成されたパラメーターには、既定値 1 が割り当てられます。 この既定値は、設計上の既定値と呼ばれます。 プロジェクトが SSISDB カタログに配置され、このパラメーターに他の値が割り当てられなかった場合は、パッケージの実行中に、 pkgOptions パラメーターに対応するパッケージ プロパティに値 1 が割り当てられます。 設計上の既定値は、プロジェクトと共にライフ サイクル全体で保持されます。

特定のパッケージ実行インスタンスの準備中には、 pkgOptions パラメーターに値 5 が割り当てられます。 この値は実行値と呼ばれます。これは、その特定の実行インスタンスのパラメーターにのみ適用されるためです。 実行が開始されると、 pkgOptions パラメーターに対応するパッケージ プロパティに値 5 が割り当てられます。

パラメーターの作成

プロジェクトの配置後にパラメーター値を設定する

mattmasson.com のブログ「 SSIS 簡単なヒント: 必要なパラメーター