Adaptive Server includes the dbcc complete_xact command to facilitate heuristic completion of transactions. dbcc complete_xact resolves a transaction by either committing or rolling back its work, freeing whatever resources the transaction was using.
dbcc complete_xact is provided for those cases where only the System Administrator can properly resolve a prepared transaction, or for when the System Administrator must resolve a transaction without waiting for the transaction’s coordinator.
For example, in Figure 3-1, heuristic completion may be considered if all remote Adaptive Servers have prepared their transactions, but the network connection to ASE1 was permanently lost. The remote Adaptive Servers will maintain their transactions in a prepared state until contacted by the coordination service from ASE1. In this case, only the System Administrator for ASE2, ASE3, and ASE4 can properly resolve the prepared transactions. Heuristically completing the prepared transaction in ASE3 frees up transaction and lock resources, and records the commit status in systransactions for later use by the transaction coordinator. Heuristically completing the transaction in ASE2 also completes the transaction propagated to ASE4.