1

我使用 Microsoft Sync Framework 2.1 SDK 开发了一个应用程序,我当前的部署方法是:

  1. 从开发机器备份未配置的数据库并在服务器上恢复它。

  2. 供应服务器,然后供应客户端

  3. 同步数据库

  4. 在开发机器上备份同步的数据库并将其用于客户端安装。它作为我在客户端计算机上还原的 SQL/Server 备份包含在 InstallShield 包中。

这可行,但现在在客户端计算机上,我还想使用相同的 SQL/Server 备份创建一个单独的测试数据库,而不会使安装大小加倍。这也有效,但当然因为客户端测试版本不再与服务器上的测试版本同步,它会尝试下载所有记录,这在较慢的 Internet 连接上需要花费数小时。

因为测试数据库的完整性并不重要,我想知道是否有一种方法可以在没有太多网络流量的情况下在客户端机器上将其标记为“最新”?

在查看跟踪表的工作方式后,我不确定这是否可能不会导致其他客户端上传或下载所有内容。也许可以选择仅从我错过的客户端上传?这很适合这个目的。

4

2 回答 2

1

每次备份已配置的数据库并还原它以初始化另一个客户端或副本时,请确保在还原之后和首次同步之前运行 PerformPostRestoreFixup。

于 2012-12-22T12:15:05.380 回答
0

在进一步分析了 Sync Framework 使用的数据结构后,我确定如果不在客户端和服务器之间发送大量数据,就没有可接受的方法来实现我正在寻求的结果,而这些数据将接近执行“正确”所需的数据同步。

相反,我最终在部署中包含了一个单独的测试数据库备份,以便可以执行通常的 PerformPostRestoreFixup,然后以与处理实时数据库相同的正常方式进行同步。

于 2013-01-09T06:24:45.347 回答