Merge Replication

Merge replication is a method for copying and distributing data and database objects from one SQL Server database to another followed by synchronizing the databases for consistency. The other methods for replication of SQL databases are snapshot replication and transactional replication.

A key characteristic of merge replication is that it permits both the primary server (publisher) and the subscriber servers to independently modify the database. All changes are synchronized by merge agents installed on all servers, and a preconfigured conflict resolution mechanism kicks in to solve any data conflicts. Version-related data conflicts are common with merge replication as updates to the database happen irregularly when there is a connection between the publisher and the subscriber

Merge replication is ideal for users who cannot be constantly connected to the publisher, but whose changes to the database need to be incorporated into all versions of the database when they are connected. Situations where merge replication makes the most sense include updating mobile users, consumer point of sale (POS) applications and integration of data from multiple sites.

According to the Microsoft SQL Server TechNet, merge replication is implemented by the SQL Server Snapshot Agent and Merge Agent. If the database to be replicated is unfiltered or uses static filters, the Snapshot Agent just takes one snapshot. If it uses parameterized filters, the Snapshot Agent takes a snapshot for every data partition. Then the Merge Agent delivers the initial snapshots to the subscribers. Following that, it merges any data changes that occurred at the publisher or subscribers after the initial snapshot was taken, and also resolves any conflicts based on the conflict resolution rules you provide.

Idera’s Diagnostic Manager gives you complete visibility into your replication processes, including both a detailed overview and a replication topology grid. The replication topology grid displays all ongoing replication sessions on a specific server, whatever the role, and you can deep dive for further information on a particular replication process.