2013-05-08 15 views
6

これは多くの話題ですが、私が見ているすべての提案は、私たちのインスタンスでは理想的ではないSQL Serverへの直接アクセスを伴うようです。リモートSQL ServerデータベースとローカルSQL Server Compactデータベースを同期する最も良い方法は?

このシナリオは、100個のテーブルを持つリモートSQL Serverデータベースです。私たちは、SQL Server Compactデータベースを使用して、20のテーブルのサブセットをリモートサーバーと定期的に同期する軽量デスクトップアプリケーションを開発しています。

私はリモートサーバが1000マイル離れているので、スピードが重要な問題であるため、どのように複製が行われるかを制御したいと考えています。

また、各テーブルのすべてのレコードを同期する必要はなく、各ユーザーに関連するレコードのみを同期する必要があります。

私はかなりSQL Mergeファシリティが好きですが、クライアントをリモートSQL Serverに接続する必要があります。これは現時点では不可能で、私たちはアプリケーションや他の方法でアクセスされるWebサービスを通じてリモートサーバーとのインタフェースを考えていました。

UPDATEちょうどインターネット接続が断続的になり、明確にするために、それは我々は2つのデータベースを同期する必要がある主な理由です。

答えて

1

このシナリオで使用できるオプションについては、クライアントにコンパクトなデータベースを使用しているという事実がかなり重い制限をかけています。

必要な制限とパフォーマンス要件を考慮すると、サービスベースのHTTPエンドポイントを実装して、目的のテーブルを同期させておくことを検討できます。あなたのアーキテクチャがそれを許すならば、非同期的にパフォーマンスを大幅に向上させるでしょうが、アーキテクチャによっては実行可能ではないかもしれません。

何か他の点については、上記のようなWebサービスに対して標準のHTTP接続ではなくWebソケットを使用することです。 Webソケットは真の全二重のリアルタイム接続なので、クライアントをリアルタイムで同期させることができます。これは、すべてのクライアントがWebソケットに準拠していることを保証するか、同等ではないクライアント用のエミュレーションフレームワークとWebソケット接続をエミュレートするためのフォールバックを提供する必要があります。

これが役立つかどうかはわかりません。

0

MS Syncフレームワークを使用できませんか?

あなたのシナリオAFAIK用にかなり設計されています。

クイックGoogleはHTTP/HTTPS経由の両方Sync Frameworkの選択(より多くのコーディングを必要とし、他のいくつかの制限があります)、またはマージレプリケーション、仕事の両方を持っている...

http://social.technet.microsoft.com/wiki/contents/articles/2190.tutorial-synchronizing-sql-server-and-sql-server-compact-sync-framework.aspx

+0

HTTP経由でMS Synch Frameworkを使用できますか?私は両方のデータベースへの直接リンクが必要だと思った? – cusimar9

+0

私はそれをここの答えに従って信じています:http://stackoverflow.com/questions/503832/sync-framework-can-you-sync-over-http – nakchak

関連する問題