6

ローカルSQLデータをセントラルSQLサーバーと同期する必要があります。リモートユーザー(主に約10人)は、アプリケーションとローカルデータベースをホストするラップトップを使用します。インターネット接続は24時間365日ではありません。接続がないときは、ラップトップユーザーはローカルデータベースを変更できます。接続が復元されると、データは中央のSQLサーバーと自動的に同期されます。同期は、通常はデータの更新です。私はオプションのSync frameworkとMerge replicationを見てきました。私はC#の専門家ではないので、私は同期フレームワークを使用することはできません。マージレプリケーションの場合、追加のハードウェアが必要ですが、これは不可能です。このソリューションは、開発と保守が容易でなければなりません。ローカルDBからセントラルSQLサーバーへのデータの同期

その他のオプションはありますか?このシナリオでSSISを使用することは可能ですか?

+0

個々のユーザーマシンごとにSQLServerのローカルインストールを参照していますか?または、メインサーバー上の各ユーザーがアクセスできる実際の 'localdb'((localdb)\ V11.0)? –

+0

私はラップトップ上のSQL Server Expressを指しています。 – ram

+0

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-offline-data-syncを見ましたか?名前はモバイルサービスですが、ユースケースに適している可能性があります。 –

答えて

3

このシナリオでは、マージレプリケーションを使用します。私は、「追加のハードウェア」要件を認識していません。

SSISはこの仕事をすることができますが、それはあなたにすぐに役立つものではありません。あなたは非常に一般的で複雑なシナリオのためにホイールを再発明しています。

0

アイデア... アイデアには中間データベース(交換データベース)が必要です。 交換データベースには、同期の各方向のデータを含むテーブルがあります。交換データベース、および中央の変更トラッキングを使用します。ローカルデータベース側で

が旗を持つ行を意味するかもしれません:

  • 行がローカルDBに作成され
  • 行が交換デシベル
  • 行に必要な再同期化が付属しています
  • (更新されたときに、電気ショック療法。)

同期localdb-exchange db。 同期するときは、最初にlocaldb(ローカルで作成または再同期化が必要とマークされている)でデータを送信し、後で交換データベースからデータをダウンロードします(変更トランキングを変更済みとしてマークします)。

交換データベースとセントラルデータベースとの同期化は、単純にデータベースエンジンとの変更追跡に基づいています。

トランケーションについてhere

関連する問題