Transaction replication

Transaction replication ensures database integrity and transactional consistency between the databases. All data-changing operations that are replicated are considered to be “transactions,” even though they might not correspond to an actual transaction in the primary database.

For example, if an actual transaction changes both published tables and unpublished tables in the primary database, only the data-changing operations on published tables are replicated. Operations on unpublished tables are not replicated, but transactional consistency is maintained if the replicate database contains only tables that correspond to published tables in the primary database.

Even though a replicated “transaction” is really just a set of data-changing operations, those operations are grouped in an atomic collection, and each collection represents the results of a committed transaction in the primary database. Only committed transaction operations should be replicated; transaction operations that are rolled back should not be replicated.

Stored procedure invocations are considered part of a transaction, just like data-changing operations on a table. The procedure invocations are not necessarily transactions in themselves.