比较同步技术
Microsoft 提供了一些针对在偶尔连接的环境中运行的应用程序设计的技术。以下是几项最著名的技术:
远程数据访问 (RDA),可用于将 SQL Server Compact 3.5 数据库与另一版本的 SQL Server 上的数据库一起同步。
合并复制,可用于同步不同版本的 SQL Server,其中包括 SQL Server Compact 3.5。
备注
不能在客户端数据库中的同一表中使用 Sync Services 和任何其他同步技术。
若要确定哪一种技术适合要生成的应用程序,请从下表开始,其中概述了主要功能。
|
RDA |
合并复制 |
同步服务 |
---|---|---|---|
使用服务同步 |
否 |
否 |
是 |
支持异类数据库 |
否 |
否 |
是 |
增量更改跟踪 |
否1 |
是 |
是 |
冲突检测与解决 |
否 |
是 |
是 |
在客户端上轻松创建数据视图 |
否 |
否 |
是 |
自动初始化架构和数据 |
是 |
是 |
是 |
支持大型数据集 |
是 |
是 |
是 |
可在本地使用查询处理器 |
是 |
是 |
是 |
自动传播架构更改 |
否 |
是 |
否 |
自动对数据重新分区 |
否 |
是 |
否 |
在设备上使用 |
是 |
是 |
是 |
1 RDA 支持增量上载,但下载的内容始终是一个完全刷新客户端上的数据的快照。
Sync Services 为类似脱机数据集的编程模型提供了灵活性,使其具有更加丰富的同步功能集(与合并复制中提供的功能集类似)。Sync Services 的功能优于 RDA。
合并复制针对的是 DBA,并且是为同步 SQL Server 数据库而设计的。它提供了可直接使用的重要功能以及可通过向导、存储过程及其自身的 API 使用的配置。Sync Services 针对的是开发人员,使您能够在基于服务器数据库或其他数据源的客户端上轻松创建数据视图。Sync Services 支持异类数据库和通过服务进行的同步,如 WCF。如果您的应用程序需要与非 SQL Server 数据库进行同步,或者必须将您的应用程序进行组件化以支持不同的传输或服务之间进行同步,请使用 Sync Services。
对于一些应用程序而言,可以很容易地决定使用哪一种技术:如果必须同步 SQL Server 数据库之外的数据源,则可使用 Sync Services。如果您是一名数据库管理员,您希望在不进行过多编程的情况下配置同步,则合并复制可能是更佳选择。最后,您必须仔细查看应用程序的要求,并确定 Sync Services API 是否是适合使用的技术。我们认为如果您要执行的操作不是仅限于将架构及其数据从一个数据库复制到另一个数据库,则 Sync Services 显然是一个适当的选择。