私たちは大量生産のMSSQLデータベース(mdf appx。400GB)を持っており、テストデータベースを持っています。すべての表、索引、ビューなどは互いに同じです。私は、この2つのデータベースのテーブル内のデータが一貫していることを確認する必要があります。だから私はすべての新しい行を挿入し、毎晩生産からのテストDBにすべての更新された行を更新する必要があります。SSISパッケージを動的に実行するには?
SSISパッケージを使用して、すべてのテーブルの更新された行と新しい行をチェックすることによって、データを一貫性のあるものにするアイデアが出ました。私のSSISフローは、
SSISのパッケージは、テーブルごとに別々に用意されています。
- Imテーブル全体を取得するのではなく、最後の1日の行を取得するために、テーブルにタイムスタンプ値を取得しています。
- 私は生産のテーブルの行を得ます
- そして、私はこのデータをテストデータベーステーブルのデータと比較するために 'Lookup'ツールを使っています。
- 次に、条件付きスプライトを使用して、データが新しいか更新されたかを手掛かりにします。
- データが新しい場合、このデータを宛先 5_2に挿入します。データが更新された場合、私は宛先テーブルのデータを更新します。
データフローが画像にMTRuleとSTBranchパッケージに
ある問題は、各テーブルのすべてのこの単一の流れを作成繰り返し、IMと私はこのように300以上のテーブルを持っています。すべての単一のテーブルには、独自の列とPK値が、私のデータを持っている:
動的にこれを行うにはSSISのいずれかの方法はあり
PSを、
はイム何を求めている:(それは時間と時間かかります?フロー・スキーマが常に同じである。。(下記)
なぜ夜間バックアップの復元は、テストDBの作業ですか?テスト用のものであれば、本番データに過負荷をかけることはできません。あなたがテストでの洗浄の要件がありますか? –
私のprod sqlはクラウド上にあるので、バックアップ・リストア操作は実行できませんが、テストSQLは実行できません。また、いくつかの理由で、バックアップファイルをクラウドからテストサーバーに移動できません。 –
データの量は?すべてのメジャーテーブルに対してデルタ属性が設定されていますか?大きなボリュームを持つすべてのテーブルをフルロードしようとすると、それもコストのかかる操作になります。 –