1

Microsoft Sync Framework 2.1 SDK を使用してアプリケーションを開発しましたが、現在の展開方法は次のとおりです。

  1. 開発マシンからプロビジョニングされていないデータベースのバックアップを作成し、サーバー上で復元します。

  2. サーバーをプロビジョニングしてから、クライアントをプロビジョニングします

  3. データベースを同期する

  4. 開発マシンで同期されたデータベースのバックアップを取り、それをクライアントのインストールに使用します。これは、クライアント マシンに復元する SQL/Server バックアップとして InstallShield パッケージに含まれています。

それは機能しますが、クライアント マシンでは、インストールのサイズを 2 倍にすることなく、同じ SQL/Server バックアップを使用して別のテスト データベースを作成したいと考えています。これも機能しますが、もちろん、クライアントのテスト バージョンはサーバー上のテスト バージョンと同期されていないため、すべてのレコードをダウンロードしようとしますが、低速のインターネット接続では何時間もかかります。

テスト データベースの整合性は重要ではないため、ネットワーク トラフィックをあまり使わずにクライアント マシン上で「最新」としてマークする方法があるかどうか疑問に思っています。

追跡テーブルの仕組みを見た後、他のクライアントがすべてをアップロードまたはダウンロードすることなく、これが可能であるかどうかさえわかりません。見逃したクライアントからのみアップロードするオプションがあるかもしれません。それはこの目的にぴったりです。

4

2 に答える 2

1

プロビジョニングされたデータベースのバックアップを取り、それを復元して別のクライアントまたはレプリカを初期化するたびに、復元後、初めて同期する前に必ず PerformPostRestoreFixup を実行してください。

于 2012-12-22T12:15:05.380 に答える
0

Sync Framework で使用されるデータ構造をさらに分析した結果、クライアントとサーバーの間で重要なデータを送信せずに求めていた結果を達成するための受け入れ可能な方法はないと判断しました。同期します。

代わりに、ライブ データベースを処理するのと同じように、通常の PerformPostRestoreFixup を実行した後、通常の方法で同期を実行できるように、デプロイに別のテスト データベース バックアップを含めることになりました。

于 2013-01-09T06:24:45.347 に答える