Purges all open transactions from an inbound queue of a Replication Server.
sysadmin purge_all_open, <q_number>, <q_type>
Identifies the stable queue to purge. Find these values using admin who, admin who, sqm, and admin who, sqt.
Purges all open transactions from queue 103:1:
sysadmin purge_all_open, 103, 1
Use sysadmin purge_all_open to purge all open transactions from an inbound queue of a Replication Server. Open transactions can only be purged from inbound queues.
A transaction is open when the RepAgent has forwarded the transaction begin record, and possibly some commands within the transaction, but has not yet forwarded the transaction commit or abort record.
sysadmin purge_all_open is useful if you have to truncate a data server log before it has been completely forwarded to the Replication Server, leaving open transactions in the Replication Server inbound queues. These must be removed explicitly using sysadmin purge_all_open.
Use sysadmin purge_all_open only when there are open transactions in the inbound queue and you are certain that the RepAgent will not forward the commit or abort record from the log.
This RS is out of Disk Space. Use another session to add disk space for this command to proceed.
If this occurs, start another isql session and add stable storage to the Replication Server. sysadmin purge_all_open cannot proceed until sufficient storage is available.
To review the contents of the transactions being dropped, execute sysadmin sqt_dump_queue before you use this command.
If the queue has no open transactions, this command leaves the queue unchanged. If the Replication Server is restarted after transactions are purged, they may reappear as a result of recovery operations.
sysadmin purge_all_open requires “sa” permission.