25

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

MyImport-Project3 つのパッケージを持つSSIS プロジェクトのシナリオを考えてみましょう

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

  • MyImport プロジェクト
    • インポート-パッケージ-01
    • Import-Package-02
    • インポート-パッケージ-03

プロジェクト変数:

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

環境:

プロジェクトがデプロイされます

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

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

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

4

2 に答える 2

67

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

環境固有の値を持つ SSIS 2012 Integration Services Catalog:

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

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

環境フォルダー

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

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

開発環境

TST 環境

PRD環境

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

プロジェクト構成

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

参照の構成

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

パラメータの設定

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

パラメータ値の設定

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

パッケージの実行

[パッケージの実行] ダイアログで、チェックボックスをオンにEnvironmentして、パッケージが実行のために値を使用する適切な環境を選択します。

パッケージの実行

この例のサンプル パッケージSO_15206184.dtsxは、プロジェクト パラメーターの値をテーブルEnvironmentに挿入するだけです。FilePathSSDT 内からのものも含め、さまざまな環境に対してパッケージを実行した結果を次に示します。

パッケージの実行結果

于 2013-03-04T21:36:04.823 に答える
12

あなたの質問を読んだところによると、デプロイするサーバーが 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 を介して設定された構成に従います。

于 2014-03-27T03:39:23.263 に答える