System Tables–Replication Tables

Publication databases use the following tables (part of the database catalog) for replication purposes:

Table Description
sysarticles Has a row for each of the articles posted by the publication server.
sysobjects Has a category field set by replication for each object marked for replication. This is set when an article is created and when an article is initially subscribed to.
syspublications Has a row for each of the publications posted by the publication server.
syssubscriptions Associates the IDs of published articles with the IDs of all subscription servers expecting to receive the data.

Destination databases maintain replication information in the MSlast_job_info table:

Table Description
MSlast_job_info Contains the job ID of the last job (from a batch) that was successfully applied. (A job is a complete transaction from the transaction log of the publication database.) Also, if present, contains information about an article that has paused distribution while waiting for manual synchronization.

Distribution databases contain the following tables dedicated to replication:

Table Description
MSjob_commands Contains one entry for each command associated with a transaction in the MSjobs table. One transaction can contain many commands.
MSjob_subscriptions Associates a subscriber with a particular article. (This is actually subscriber-side information that is maintained in the distribution database.)
MSjobs Contains the actual transactions. There is one entry for every transaction stored in the distribution database.
MSsubscriber_info Contains information used by SQL Executive for passing jobs.
MSsubscriber_jobs Associates each subscriber with the command that subscriber needs to receive.
MSsubscriber_status Contains status information for the individual batches of transactions sent to subscribers.

All servers participating in replication keep some replication-related data in the system catalog found in the master database:

Table Description
sysservers Used by both the publication and subscription servers. The srvstatus column has status bits set for RPC, PUBLISH, SUBSCRIBE, and DISTRIBUTE.

A publication server uses all four options to register the subscribing servers that can receive its publications. A subscription server uses only the RPC option to register the publication servers that it authorizes to send it publications.

The options can be reviewed by running sp_helpserver and viewing the status column.

sysdatabases Used by the publication server. When set up for replication, the category column defines whether a database is permitted to publish.

For more information about the tables used by replication, see the specific table, listed separately.