Programming replication allows you to create custom applications with which you can configure and maintain a replication topology. Some benefits of using custom applications include:
- Making it easier for mobile or occasionally connected users to modify data offline and propagate those changes to other locations when they reconnect to the network. The users can enter their changes to the data, and then when connected to the network, use an application to upload and download data changes. The users do not need to have knowledge of Microsoft® SQL Server™ or replication to perform these actions.
- Allowing you to program heterogeneous data sources, such as Publishers of data, to SQL Server Subscribers. The Replication Distributor Interface can be programmed to support heterogeneous Publishers for snapshot replication and transactional replication.
- Allowing you to save the initial snapshot on removable media (such as a CD-ROM) and apply the snapshot at the Subscriber from the media, rather than applying the initial snapshot over a slow link.
- Simplifying replication by separating functionality into smaller, reusable pieces that manage and administer the replication process easily from a central location.
- Allowing heterogeneous applications to inherit replication features and act as Publishers so SQL Server Subscribers can gain access to data that is stored on a variety of data sources, including legacy data sources and proprietary data sources.
- Storing replication SQL statements, scripts, and .bcp files (in addition to transactions), and forwarding them to the Subscriber.
- Writing custom applications to resolve merge conflicts that can occur when the same data is modified at multiple places allow the developer to implement specific data or business-decision rules to resolve the conflict. Custom resolvers can be built either as stored procedures or as COM objects written in languages such as Microsoft Visual C++® or Microsoft Visual Basic®. By using merge replication custom conflict resolvers, you can resolve unique business conflicts by writing scripts that can handle any logic required to resolve complex conflict scenarios. For more information, see Merge Replication Conflict Detection and Resolution.