SSISパッケージの移行方法メモです。
オペレーションは環境によって異なると思うので、とある1パターンと思って頂ければと。
■環境/条件
・SSISをバッチ代わりに使用
・実際に処理対象となるDBは別サーバ上に存在
・SSISパッケージはSQLserverに保存
・SSISパッケージの起動は、SQLServerジョブまたはDOSバッチファイル
・移行先サーバはNW未接続の為、外部媒体でデータを移行する必要あり
・SQLServerのバージョンは、移行元が2008、移行先も2008
■エクスポート
①SSISパッケージ
1.SSMSで移行対象サーバに接続します。接続先は[Integration Service]。
権限を持つユーザでのWindows認証接続になります。権限がないとパッケージが見えなかったり。
2.左ペインのツリーを展開して格納先を開きます。当方環境では[格納済パッケージ]>[MSDB]。
3.パッケージを右クリックして[パッケージのエクスポート]を選択。
4.パッケージの場所は[ファイルシステム]を選択。
ファイル出力パスを指定する。暗号化は、すぐ移行するなら気にしなくてもいいと思います。
わかるなら、パッケージ作成時のルールに従うべきでしょう。
②SSIS起動ジョブ
1.SSMSで[データベースエンジン]に接続します。ユーザは①と同じか、saで。
2.SQLServerエージェントが起動していない場合は起動。
3.左ペインのツリーから[SQLServerエージェント]>[ジョブ]を選択。
4.F7キー押下。右ペインにジョブのリストが表示されます。
ツリーからジョブを右クリックでも構わないのですが、ここだと複数選択が可能です。
対象ジョブを選択して、右クリックメニューからエクスポートします。
出力形式を選べますが、移行を目的とするならスクリプトファイル一択かと思います。
■インポート
①SSISパッケージ
1.SSMSで移行対象サーバに接続します。接続先は[Integration Service]。
権限を持つユーザでのWindows認証接続になります。権限がないとパッケージが見えなかったり。
2.左ペインのツリーを展開して格納先を開きます。当方環境では[格納済パッケージ]>[MSDB]。
3.パッケージを右クリックして[パッケージのエクスポート]を選択。
4.パッケージの場所は[ファイルシステム]を選択。
ファイル出力パスを指定する。暗号化は、すぐ移行するなら気にしなくてもいいと思います。
わかるなら、パッケージ作成時のルールに従うべきでしょう。
②SSIS起動ジョブ
1.SSMSで[データベースエンジン]に接続します。ユーザは①と同じか、saで。
2.出力したスクリプトファイルを実行します。
ファイルを開く、新しいクエリに中身を貼り付ける、など幾つか手段はあると思います。
注意点としては、ジョブに定義されたオブジェクトを事前に作成しておく事
・ユーザ
・オペレータ
パッケージは事前にインポートしていたので分かりませんが、パッケージが無い場合もエラーになる気がします。
記憶を頼りに書いたので抜け漏れがあるかも知れませんが、適宜補完願います…