2016-09-21 11 views
-1

私は2つのデータベースを持っているとします.1つはデベロッパー用、もう1つはメンテナンス用です。どちらのデータベースも同じテーブルを持ち、誰かがデータベースdevのTable1(辞書テーブル)にレコードを追加します。彼はメンテナンスの際にTable1にそれを挿入するのを忘れてしまったので、idはsincronizadにならず、同じ名前になりますが両方のデータベースで異なるIDになります。異なるデータベースで同じテーブルIDを使用する

外部からのシーケンスを使用して、これら2つのテーブルを同期させておくのに最適な方法は何ですか?トリガー?

+0

RedGateの[SQL Data Compare](http://www.red-gate.com/ products/sql-development/sql-data-compare /)を使用すると、環境間でテーブルデータを一貫性を保つことができます。 –

答えて

1

プライマリキーとしてIDを使用しないでください。 IDによって良好なクラスタリング・キーが作成されますが、必ずしもプライマリ・キーである必要はありません。

そうでなければ、ProdからDevへのデータベースの更新をスケジュールできますが、私はDevですべての作業を一掃しています。

またはIdentity Insertオプションを使用して、Prodからそのテーブルのデータを再ロードするSSISパッケージ。

+0

もっと良いものがあれば、私は思っていました:(Redgateは良いですが、私たちは持っていません – carlosm

+0

スケジュールされたSSISジョブ、私が含む3番目のオプションはサードパーティのツールを使用しません。テーブル、それはあなたの最高のオプションです。 –

0

ここに私の提案があります:あなたが維持しやすくなります。

これらはプロードされたデータベースではないため、データベーステーブルの1つを真実のソースとして保管してください。 SSISジョブまたは手動データインポートユーティリティ(デフォルトでSQL Serverインストールで提供される)を通じて定期的に別のものを上書きします。

関連する問題