Share via


Deciding between using Remote Data Access (RDA) or using replication in your SQL Server Compact application depends on the purpose, function, scale, and requirements of your smart device application. Each connectivity data solution has different advantages and disadvantages.

Both RDA and replication are good for wireless transports. Compression is used to reduce the size of transmitted data. You can use encryption to safeguard sensitive user data during transmission.

Feature Comparison

Feature

Replication

RDA

Exchange of tracked data changes

Replicates changes to and from server and client

Column-level Tracking – reduces the amount of data transferred, by only transferring changed column data

Row-level Tracking – whole row is transferred

Pushes changes from client to server only. Complete update of client data required to receive server changes.

Row-level Tracking – whole row is transferred.

Number of tables from which data can be propagated

Multiple tables – as many as defined in the publication

One table per RDA method.

Types of tables that can be propagated

Different types of tables to control data flow

Addition or removal of a table in the publication (server) is replicated automatically without reinitializing the subscription on the client

N/A

Addition or removal of a table at the server is not automatically replicated to the client.

Constraints and indexes

Referential integrity constraints and indexes are replicated from server automatically.

Referential integrity constraints are not replicated, indexes are optionally replicated. Additional schema definition must be defined at the client.

Conflicts

Conflicts include data changed by different users and rows which did not apply because of an error.

Resolution and management of conflicts on server

Built-in and custom conflict resolvers supported.

Conflicts only include rows which did not apply because of an error. RDA does not detect if data was changed by a different user.

Conflicts not managed, but are optionally reported in an error table on the client.

No conflict resolvers.

Schema changes

Schema changes (such as add/drop columns, add/drop constraints, or changing column definition) can replicate.

Schema changes are not allowed. If the schema is changed, the client must drop the table at the client and pull all the data from server again. Depending on the schema change, a push can fail.

Identity columns

Manual and auto identity range handling. BigInt and Int columns supported.

Manual identity range handling. BigInt and Int columns supported.

Data/schema definition

Occurs at the server when the publication is configured and is automatically defined at the client when the subscription is created.

Data and schema definition occurs at the client when data is pulled from server to client.

Tools (UI)

Extensive tools to create and manage subscriptions, and monitoring tools to manage multiple subscriptions, watch performance, and sync times

No tools supported.

Server invasiveness

Tables and columns added to server database to manage replication.

No changes made to database on server.

Because of design limitations, remote data access (RDA) will be removed in a future release. If you are currently using RDA, you should consider transitioning to Microsoft Synchronization Services for ADO.NET. If you were planning to use RDA in a new application, you should instead consider merge replication or Sync Services. Note that Sync Services is currently available for both desktop and mobile devices.