0

Server1 から Server2 にいくつかのテーブルをコピーするための SSIS パッケージがいくつかあります。ここで、このパッケージを更新して Server1 を Server3 に置き換える必要があります。これを行うことはできますか、それともパッケージを削除して再度作成する必要がありますか?

前もってありがとうエリアナ

4

1 に答える 1

0

私はあなたの最初の要求を誤解したかもしれません。古い回答を保持していますが、以下に別のアプローチを追加しました。

独自のアプローチ

@praveen のコメントを拡張するには

SSIS パッケージを実行する場合、それを行うための一般的なメカニズムが 2 つあります。dtexecui と dtexec. 前者は Windows エクスプローラーでパッケージをダブルクリックしたときに起動されるもので、後者はコマンド ラインまたは SQL エージェントから使用されます。UI (SQL エージェントまたは Windows GUI) を使用してコマンド ラインを構築する方が簡単だと思います。あなたの場合、Server2 の接続文字列の値を上書きします。異なる時間に異なるパラメーターを使用して同じ SSIS パッケージを実行するも参照 してください。

パッケージが Server1 から 2 つの宛先 (Server2Server 3) にデータをコピーする必要がある場合は、構成を使用してジョブを 2 回実行して宛先を切り替えるか、両方の宛先に同時に書き込むようにパッケージを変更する必要があります。

  1. Visual Studio/SSDT で新しい SSIS プロジェクトを作成する
  2. SQL Server からパッケージをダウンロードします。SQL Server にデプロイされた SSIS パッケージを Visual Studio 2008 にコピーする
  3. ダウンロードしたパッケージをプロジェクトに追加する
  4. パッケージを開き、Connection Manager を Server3 に追加します
  5. データ フロー タスク内で、既存の宛先の前にマルチキャスト変換を挿入します。
  6. 既存の宛先をマルチキャストに再接続します
  7. 新しい宛先コンポーネント (ほとんどの場合、OLE DB 宛先) をドラッグし、マルチキャストに接続します。
  8. テスト
  9. パッケージを SQL Server にデプロイする

更新されたアプローチ

リクエストを読み直したところ、目的地を追加するのではなく、ソースを変更したいのだと思います。現在のプロセスは、Server1 から Server2 へのデータです。望ましい状態は、Server3 から Server2 です。あなたのパッケージはおそらく次のようになります

ここに画像の説明を入力

重要なのは、接続マネージャーの名前です。現在、Server1 の名前は に埋め込まれていSourceConnectionOLEDBます。実行時に SQL エージェントでその値をオーバーライドする必要があります。

現在の SQL エージェント ジョブ内で、[データ ソース] タブをクリックします (2012 を使用している場合を除き、[詳細] タブを探します)。SourceConnectionOLEDB接続マネージャーを確認し、Server1 の値を Server3 に置き換えます。

ここに画像の説明を入力

[コマンド ライン] タブは次のようになります。

/FILE "\\serverB\c$\temp\Simple.dtsx"  /CONNECTION SourceConnectionOLEDB;"\"Data Source=SERVER3;Initial Catalog=SRC;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=false;\"" /CHECKPOINTING OFF /REPORTING E
于 2012-08-06T12:54:36.813 に答える