2012-04-05 2 views
0

私はMicrosoft SQL Server 2008 R2を使用しています.SISパッケージを作成してデータベースA(myproductionデータベース)をデータベースB(Myreportinデータベース)にコピーしました。そのため、BデータベースとSQLジョブで実行されるデータベースAで何らかの変更(新しい行の挿入や任意のテーブルの任意の行の値の更新などのデータ変更が行われた場合)が実行され、自動的に変更が行われます。データベースBのテーブルにそのテーブルがドロップされて再作成されることは望ましくありません(ビジネスルールではなく)ので、変更のみが行われます。すべてのテーブルを更新するSQL JOB

誰でも助けてもらえますか?アドバンスで感謝しています。

+0

これはトリガーのジョブです。一番簡単な方法は、同期させたい各テーブルにテーブルを持たせることです。 –

答えて

0

レプリケーションを使用して調査することをお勧めします。具体的には、一定の更新が必要な場合のトランザクションレプリケーション。 MSDNのビットは次のとおりです。

通常、トランザクションレプリケーションは、パブリケーションデータベースオブジェクトとデータのスナップショットから始まります。最初のスナップショットが作成されるとすぐに、その後のデータの変更とパブリッシャでのスキーマの変更は、通常、(ほぼリアルタイムで)発生したときにサブスクライバに配信されます。データの変更は、購読者に発行されたのと同じ順序で、同じトランザクション境界内で購読者に適用されます。したがって、パブリケーション内では、トランザクションの一貫性が保証されます。

マージレプリケーションまたはスナップショットレプリケーションの代替案を検討することができます。 Here'sこれらの選択肢を調べ始めるページ。

+0

あなたの素早い回答ありがとうございます。私は価値の変化の絶え間ない更新が必要です(更新は午後10時に行われます。午後10時の間は仕事をしていますが、複製は許可されていません。彼らはすでにSSISパッケージを作成しており、スケジュールされたジョブとしてパッケージを実行したいのです。私はT-SQLクエリを書くことができる新しいジョブを追加することができます。 – vigilant

関連する問題