web-dev-qa-db-ja.com

さまざまな環境構成で実行するようにSSIS 2012プロジェクトを構成する方法は?

Project Deployment Modelを使用して2012 SSISプロジェクトを構成する最良の論理的な方法は何ですか?

SSISプロジェクトのシナリオを考えてくださいMyImport-Project 3つのパッケージがある

プロジェクトソリューション:

  • MyImport-Project
    • Import-Package-01
    • Import-Package-02
    • Import-Package-03

プロジェクト変数:

  • Project-DBConnString:単一のデータベースに接続するためにすべてのパッケージで使用されます。
  • Project-FolderPath:入力ファイルを検索するためにすべてのパッケージで使用されます

環境:

プロジェクトはに展開されます

  • QAサーバー
  • ステージングサーバー
  • 本番サーバー

プロジェクトパラメータを設定する標準的な方法はありますか?

パッケージの構成ファイルに関する記事をかなり見ました。展開環境に応じてプロジェクトパラメータを設定する方法はありますか?

24

SSIS 2012プロジェクト展開モデルは、環境を作成し、プロジェクトパラメーターにマップできる環境固有の値を構成するための柔軟性を提供します。以下は、Integration Services Catalogにデプロイされたパッケージを複数の環境に対して実行する方法を示すサンプルです。理想的には、実稼働環境は独自のサーバー上にある必要があります。この例では、簡単にするために同じサーバー上のすべての環境を使用しています。

環境固有の値を持つSSIS 2012 Integration Servicesカタログ:

EnvironmentおよびFilePathという名前の2つのプロジェクトパラメーターを使用してパッケージをIntegration Servicesカタログに展開したと仮定します。 。異なる環境でパッケージを実行するには、Integration Services Catalogs \ SSIDB \ Folder name \ Environmentsで複数の環境を作成できます

このサンプルには、DEVPRD、およびTSTという名前の3つの環境フォルダーがあります。

Environment Folders

後でプロジェクトパラメーターにマップする必要がある変数を作成するには、[環境]フォルダーの下の環境をダブルクリックします。このサンプルは、すべての環境で値を構成する方法を示しています。

パッケージにはEnvironmentおよびFilePathという名前の2つのプロジェクトパラメーターがあるため、次の2つの環境変数を作成します。同じ名前。すべての環境は、same変数名で構成されていますが、different値で構成されています。

DEV Environment

TST Environment

PRD Environment

環境変数をプロジェクトパラメーターにマップするには、Integration Servicesカタログの下のプロジェクトを右クリックし、Configure...をクリックします。

Project Configure

ConfigureダイアログでReferencesページをクリックし、プロジェクトに関連付ける必要のある各環境を追加します。

Configure References

Configureダイアログで、Parametersページをクリックします。 Parametersタブの下にリストされている各パラメーターについて、Ellipsisボタンをクリックして適切な環境をマップする必要があります。変数。

Configure Parameters

[パラメータ値の設定]ダイアログで、[環境変数の使用]ラジオボタンを選択し、適切な変数を選択します。ここでマッピングされるパラメーターは[Practice.SSDT].[Environment]です。したがって、環境変数Environmentに対してマップされています。

Set Parameter Value

適切な環境変数に対してパラメーターをマップしたら、パッケージの実行中に正しい環境を選択できます。パッケージを実行するには、パッケージを右クリックしてExecute...をクリックします

Execute Package

Execute PackageダイアログでEnvironmentボックスをチェックし、パッケージが実行に値を使用する適切な環境を選択します。

Execute Package

この例のサンプルパッケージSO_15206184.dtsxは、プロジェクトパラメータEnvironmentおよびの値を挿入するだけですFilePathをテーブルに入れます。以下に、SSDT内を含むさまざまな環境に対するパッケージ実行の結果を示します。

Package Execution Results

66
user756519

質問を読んだところ、3つの個別のサーバーを展開でき、それぞれにSSISカタログの独自のインスタンスがあります。単一のサーバーを複数の環境で実行したくない場合。そのシナリオでは、user756519の答えは残念ながらほとんど役に立たない-努力の10分の10です。

SSISの「環境」設定は無視します。これは、単一のSQL Serverインスタンスで複数の環境を管理するためのものです。

代わりに私は:

  1. visual Studioソリューションで環境1プロジェクトパラメーター値を設定し、環境1に展開する
  2. 環境2にデプロイする
  3. SSMSを使用して環境2に接続し、Integration Servicesカタログでナビゲートしてプロジェクトを見つけ、右クリックして[構成]を選択します。環境2に必要なパラメーターを編集します
  4. 環境3にデプロイする
  5. SSMSを使用して環境3に接続し、Integration Servicesカタログでナビゲートしてプロジェクトを見つけ、右クリックして[構成]を選択します。環境3の必要に応じてパラメーターを編集します

これで、プロジェクトを引き続き開発して各環境に展開できます。プロジェクトパラメータを追加/削除/名前変更しない限り、これ以上のメンテナンスは必要ありません。各環境/サーバーでパッケージが実行されると、SSMSを介して設定された構成に従います

12
Mike Honey