Cross-Database Transactions

A single transaction may affect tables from different databases. Modifications to tables located in a different database are logged in the databases that hold the tables.

The Sybase Replication Agent configured for the database sends the Replication Server information stored in its transaction log.

In this example, db1 and db2 are replicated databases with configured Sybase Replication Agents. Database db1 is configured to use SQL statement replication:

use db2
go
begin tran
go
delete t1 where c between 1 and 10000000
delete db1..t1 where c between 1 and 1000000
commit tran
go

The second delete (on database db1) uses SQL statement replication whereas the first delete (on database db2) uses traditional replication. The Sybase Replication Agent running on db1 replicates the statement.

Replication Server does not guarantee the integrity of transactions across different databases. For example, if the DSI for the first delete suspends while the DSI for the second delete is active, the second delete replicates ahead of the first delete.