Publishers, Distributors, and Subscribers

SQL Replication

Replication

Publishers, Distributors, and Subscribers

Before you configure publishing and distribution, consider the roles and requirements of the servers in your replication topology.

Publisher

The Publisher is a server that makes data available for replication to other servers. In addition to being the server where you specify which data is to be replicated, the Publisher also detects which data has changed and maintains information about all publications at that site. Usually, any data element that is replicated has a single Publisher, even if it may be updated by several Subscribers or republished by a Subscriber.

The publication database is the database on the Publisher that is the source of data and database objects to be replicated. Each database used in replication must be enabled as a publication database either through the Configure Publishing and Distribution Wizard, the Publisher and Distributor properties, by using the sp_replicationdboption system stored procedure, or by creating a publication on that database using the Create Publication Wizard.

Distributor

The Distributor is a server that contains the distribution database and stores meta data, history data, and/or transactions. The Distributor can be a separate server from the Publisher (remote Distributor), or it can be the same server as the Publisher (local Distributor). The role of the Distributor varies depending on which type of replication you implement, and in general, its role is much greater for snapshot replication and transactional replication than it is for merge replication.

Type of Replication Distributor role
Snapshot Replication or Transactional Replication
  • Stores replicated transactions temporarily for transactional replication.

  • Hosts most of the replication agents unless remote agent activation or pull subscriptions are used.

  • Stores meta data and history data.
Merge Replication
  • Stores meta data and synchronization history.

  • Hosts the snapshot agent and merge agent for push subscriptions.

A Distributor may require additional resources to:

  • Store the snapshot files for a publication. The default snapshot folder location is on the Distributor; however, you can change the default location or choose an alternate snapshot location. For more information, see Alternate Snapshot Locations.

  • Host one or more distribution databases.

  • Host processing for most replication agents (for pull subscriptions, the Merge Agent or Distribution Agent runs at the Subscriber). You can however, choose to offload agent processing. For more information, see Remote Agent Activation.
Remote Distributors

A remote Distributor is a computer that is physically separate from the Publisher and is configured as a Distributor of replication. A local Distributor is a computer that is configured to be both a Publisher and a Distributor of replication.

When you create a publication, the default snapshot folder location is on the Distributor. If you use this default location, and you use a remote Distributor, make sure the Snapshot Agent at the Publisher can access the snapshot folder. Without access, the Snapshot Agent cannot write the snapshot files to the Distributor.

Similarly, if pull subscriptions access data on a remote Distributor, make sure the Distribution Agent or Merge Agent that runs on the Subscriber has read permission on the snapshot folder if it is located on the Distributor.

Typically, you would choose to use a remote Distributor when you want to offload processing to another computer, when you want minimal impact from replication on the Publisher (for example, if the Publisher is an OLTP server), or if you want a centralized Distributor for multiple Publishers.

The Distributor could be configured as a separate instance of SQL Server, and therefore, could run on the same computer as the Publisher. This would technically be correct and be a remote Distributor, but this is not advised.

Subscribers

Subscribers are servers that receive replicated data. Subscribers subscribe to publications, not to individual articles within a publication, and they subscribe only to the publications that they need, not necessarily all of the publications available on a Publisher.

If you have applications using transactional replication built with Microsoft® SQL Server™ version 6.5 or later, and those applications subscribe directly to articles instead of to publications, the applications will continue to work in SQL Server 2000. However, you should begin to migrate your subscriptions to the publication level where each publication is composed of one or more articles.

To configure publishing and distribution