我使用Microsoft Sync Framework 2.1 SDK开发了一个应用程序,我目前的部署方法是:
从开发计算机备份未设置的数据库并将其还原到服务器上。
配置服务器,然后配置客户端
同步数据库
在开发计算机上备份同步数据库,并将其用于客户端安装。它作为我在客户端计算机上还原的SQL / Server备份包含在InstallShield包中。
虽然可以,但在客户端机器上,我现在还想使用相同的SQL / Server备份创建一个单独的测试数据库,而不会增加安装的大小。这也有效,但当然因为客户端测试版本不再与服务器上的测试版本同步,它试图下载所有记录,这些记录需要花费很多时间才能通过较慢的Internet连接。
因为测试数据库的完整性并不重要我想知道是否有一种方法可以在没有太多网络流量的情况下在客户端计算机上将其标记为“最新”?
在查看跟踪表的工作方式之后,我不确定这是否可行而不会导致其他客户端上传或下载所有内容。也许有一个选项只能从我错过的客户端上传?这很适合这个目的。
答案 0 :(得分:1)
每次备份已配置的数据库并将其还原以初始化另一个客户端或副本时,请确保在还原后以及首次同步之前运行PerformPostRestoreFixup。
答案 1 :(得分:0)
在对Sync Framework使用的数据结构进行进一步分析之后,我确定没有可接受的方法来实现我所寻求的结果,而不会在客户端和服务器之间发送大量数据,这些数据可能会接近执行'正确'同步。
相反,我最终包括一个单独的测试数据库备份以及部署,以便可以执行通常的PerformPostRestoreFixup,然后以正常方式执行同步,就像我处理实时数据库一样。