0

大規模なローカル SQL データベースをサーバー データベースと同期する必要があり、その逆も必要です。2 つのデータベース構造はまったく同じです。1日1回、朝にオンラインサーバーから最新のデータを取得する必要があります。ローカル DB は常に更新されており、約 1 時間ごとにサーバー DB をローカル データで更新する必要があります。

.Net winforms アプリケーションでやりたいです。

私はこれを次の2つの部分で達成できると考えました:

  1. オンライン データベースのバックアップを作成し、それをダウンロードして、そのバックアップ ファイルを使用してローカル データベースを復元します (オンライン データベースが更新されているため)。
  2. 次に、1 時間後に、ローカル データベースの新しいエントリを確認し、オンライン データベースの新しいエントリを更新/挿入します。

しかし、このアプローチにはいくつかの問題があります。

  1. 大きなデータベースのバックアップ ファイルをダウンロードすると、何度か破損します。

  2. 私のデータベースには、親子関係テーブルの主キーと外部キー参照があります。したがって、オンライン データベースで新しい行を生成すると、オンライン データベースで新しい ID が生成されます。では、どうすれば参照を維持できますか?

私はこの種のシナリオを扱ったことはありません。これを達成するためのさまざまな方法がわからないので、できるだけ詳しく説明してください。

どうもありがとうございました。

4

4 に答える 4

2

たぶん、MicrosoftSyncFrameworkを試してみることができます。

于 2011-01-28T11:43:04.167 に答える
2

これを自分で書くよりも、SQLサーバーのレプリケーションを使用した方が良いようです

msdn 情報へのリンク

于 2011-01-28T11:03:47.383 に答える
0

データベースの同期には、次のいずれかのソフトウェアを使用できます。

  1. SQL 比較: http://www.red-gate.com/products/sql-development/sql-compare/
  2. SQL デルタ: http://www.sqldelta.com
于 2012-11-12T08:44:41.237 に答える
0

オンライン オフライン データベース同期に関する記事を投稿しました。ここでは、複数のデータベース (同じスキーマ) を同期する方法を見つけることができます。1 つのマスター データベースが存在する必要があり、他のデータベースはそれに応じて更新されます。これを試すことができます:http://blog.ankitverma.com/2010/03/onlineoffline-database-synchronization/

于 2011-02-14T09:29:05.370 に答える