Microsoft SQL Server Compact 3.5 supports two methods of connecting to and exchanging data with a Microsoft SQL Server database: remote data access (RDA) and merge replication.

A database exclusive lock is briefly held at the beginning of the synchronization to ensure that the correct changes are collected at the next synchronization. During this time, synchronization waits to obtain the lock. If this lock cannot be acquired within the allotted time, a time-out error results. For more information, see Locking (SQL Server Compact) and Managing Connectivity (SQL Server Compact).

Replication

When you use merge replication, the initial and reinitialization synchronizations occur in one transaction. If there is a failure, the entire operation is rolled back, leaving the database in the previous state. Subsequent synchronizations occur as a set of smaller transactions. This promotes concurrency and multiuser access to data. If an error occurs during a subsequent synchronization, the database is still in a consistent state, but partial server data might have been applied. You should identify the reason why the synchronization failed and synchronize again to complete the synchronization process.

RDA

When you use RDA, the Pull method is executed as one transaction. If there is a failure, the entire operation is rolled back, leaving the database in the previous state. Push operations occur as a set of smaller transactions. This promotes concurrency and multiuser access to data. If an error occurs when the Push method is called, the Push method fails and all the changed rows must be pushed again. For more information, see RDA Conflict Detection and Reporting.

Concepts

Multiuser Access and RDA

Multiuser Access and Synchronization