比较远程数据访问 (RDA) 和合并复制
根据智能设备应用程序的用途、功能、规模和要求来决定在 Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 应用程序中使用远程数据访问 (RDA) 还是使用复制。每个连接数据解决方案都有不同的优点和缺点。
RDA 和复制都适用于无线传输。使用压缩可减小传输的数据量。在传输期间可以使用加密来保护敏感的用户数据。
功能比较
功能 | 复制 | RDA |
---|---|---|
交换所跟踪的数据更改 |
在服务器和客户端之间复制更改 列级跟踪 – 通过仅传输更改的列数据,减少数据传输量 行级跟踪 – 传输整行 |
仅从客户端到服务器推送更改。完成接收服务器更改所需的客户端数据的更新。 行级跟踪 – 传输整行。 |
可以从其传播数据的表的数量 |
多个表 – 与在发布中定义的一样多 |
每个 RDA 方法对应一个表。 |
可以传播的表的类型 |
控制数据流的不同类型的表 在发布(服务器)中添加或删除表是自动复制的,而无须在客户端上重新初始化订阅 |
不适用 在服务器上添加或删除表不会自动复制到客户端。 |
约束和索引 |
引用完整性约束和索引是从服务器自动复制的。 |
不会复制引用完整性约束,可以选择复制索引。其他架构定义必须在客户端上定义。 |
冲突 |
冲突包括由不同用户更改的数据和因错误而未应用的行。 在服务器上解决和管理冲突 支持内置和自定义冲突解决程序。 |
冲突仅包括因错误而未应用的行。RDA 不检测数据是否已由其他用户更改。 不管理冲突,但可以选择在客户端上的错误表中进行报告。 无冲突解决程序。 |
架构更改 |
可以复制架构更改(如添加/删除列、添加/删除约束或更改列定义)。 |
不允许进行架构更改。如果架构已更改,则客户端必须删除客户端上的表,并再次从服务器请求所有数据。根据架构更改的不同,推送可能会失败。 |
标识列 |
手动和自动处理标识范围。支持 BigInt 和 Int 列。 |
手动处理标识范围。支持 BigInt 和 Int 列。 |
数据/架构定义 |
配置发布时在服务器上进行;创建订阅时在客户端上自动对其进行定义。 |
将数据从服务器请求到客户端时,在客户端上定义数据和架构。 |
工具 (UI) |
支持用于创建和管理订阅的大量工具,以及用于管理多个订阅、观察性能和同步时间的监视工具 |
不支持任何工具。 |
服务器入侵 |
将表和列添加到服务器数据库以管理复制。 |
不对服务器上的数据库进行更改。 |