One of the common questions I get from developers once they get their hands on the new sync framework for ADO.NET is: How is it different from SQL Merge Replication? When should I use merge as oppose to sync services? Can sync services do filtering, ddl replication etc …? These are all interesting questions, so let’s talk about the scope of each product:
Synchronization Services for ADO.NET is a development framework for developing occasionally connected systems that:
- Enables developers to build offline capabilities into their data applications easily and efficiently.
- Provides an open model, allowing developers to sync data with different backend databases or any other relational data store
- Uses SQLCE to provide small footprint, in-proc client database.
- Supports unidirectional and bidirectional sync with conflict detection and resolution.
SQL Server Merge Replication is a powerful replication solution for synchronizing data between SQL Server Databases; it evolved overtime to cover very complex and demanding replication scenarios; today it provides the following features:
- Join Filters
- Partition Groups
- Logical Records
- Schema Changes Replication
- Automatic data realignment
- Column Tracking \ Conflicts detection
- Backward Compatibility
- Backup and Restore
Obviously, the scope of each product and the target audience is quite different. While developers use Merge Replication today, they don’t have a lot of control on how it works. Sync framework, on the other hand, puts developers on the driver seat, but takes away many of the high-end features to keep the framework simple and applicable to the most common scenarios.
Download the CTP: Microsoft Synchronization Services for ADO.NET CTP release
Feedback: Visit Sync Services Forum