Transactions and threads of control

Prior to Adaptive Server version 12.0, all of a transaction’s resources were privately owned by a single server task. The server could not share a transaction with any task other than the one that initiated the transaction.

Adaptive Server version 12.5 and later provides native support for the “suspend” and “join” semantics used by X/Open XA-compliant transaction managers such as Encina and TUXEDO. Transactions may be shared among different threads of execution, or may have no associated thread at all.

When a transaction has no thread associated with it, it is said to be “detached”. Detached transactions are assigned a spid value 0. You can see the transaction spid value in the new master.dbo.systransactions table, or in output from the new sp_transactions procedure. See “Getting information about distributed transactions” for more information.