可以传播的表类型
将表添加到复制发布中时,可以设置表的属性来控制数据流。除了控制发布者与订阅者之间的数据流以外,这些表属性还可用于增强同步的性能。有关详细信息,请参阅 SQL Server Books Online 中的“Parameterized Row Filters”和“Optimizing Merge Replication Synchronization Performance with Download-Only Articles”。
RDA 不支持任何用于控制数据流或增强性能的表属性。拉到客户端的数据仅由该客户端上的应用程序代码控制。
冲突
使用复制作为连接解决方案时,潜在的冲突包括由不同用户更改的数据以及由于错误而无法应用的行。复制完全支持服务器上的冲突解决和管理,包括内置和自定义的冲突解决程序。有关详细信息,请参阅 SQL Server Mobile Books Online 中的“Replication Conflict Detection and Resolution”和 SQL Server Books Online 中的“Merge Replication Conflict Detection and Resolution”。
使用 RDA 时,冲突仅包括由于错误而无法应用的行。RDA 不会检测是否有不同的用户对数据进行了更改。因此,RDA 在将数据推入服务器时始终采用“最后一个写入者获胜”的方式。不会对冲突进行管理,但是可以在客户端的错误表中报告冲突。由于没有去解决冲突,因此也就不支持任何冲突解决程序。
工具 (UI)
SQL Server Management Studio 包含大量用于创建和管理订阅的工具集,包括用于管理多个订阅及监测性能和同步次数的监视工具。
RDA 只能通过编写代码来使用;SQL Server 和 SQL Server Mobile 中都没有可用于推/拉更改或监视客户端的工具。
结论
在本文中,您已经了解了合并复制与 RDA 之间主要功能的关键差别。了解这些信息后,您就可以根据 SQL Server Mobile 应用程序的需要成功地选择相应的连接解决方案。例如,应用程序可能会从 RDA 的简单性或合并复制的强大功能中受益。在有些情况下,如果服务器上的数据不会发生冲突,您可以选择在一个解决方案中结合使用 RDA 和合并复制的功能。