Requirements and behavior

Adaptive Server transaction coordination services can ensure that the work of remote servers is logically committed or rolled back provided that each remote Adaptive Server is at version 12.0 and later.

Transaction coordination services are transparent to the client executing the distributed transaction. When a local client transaction executes a RPC or updates data via CIS, the coordination service creates a new transaction name for the remote work and propagates that transaction to the subordinate, remote server. When the local client commits or rolls back the local transaction, Adaptive Server coordinates that request with each of the subordinate servers to ensure that the remote transactions are committed or rolled back as well.

The Adaptive Server transaction coordination service runs as one or more background tasks named “ASTC HANDLER,” and can be viewed using sp_who. In systems using multiple Adaptive Server engines, the number of “ASTC HANDLER” processes (rounded down to the nearest whole number) is:

number of engines * 2/3

There can be a maximum of 4 “ASTC HANDLER” processes running on Adaptive Server.

The following output from sp_who shows a single “ASTC HANDLER”:

sp_who
fid spid status loginame origname  hostname blk_spid dbname cmd block_xloid
-----------------------------------------------------------------------------0   1    running  sa     sa        dtmsol1  0        master SELECT          0
0   2    sleeping NULL   NULL      master   0        master NETWORK HANDLER 0
0   3    sleeping NULL   NULL               0        master DEADLOCK TUNE   0
0   4    sleeping NULL   NULL               0        master MIRROR HANDLER  0
0   5    sleeping NULL   NULL               0        master HOUSEKEEPER     0
0   6    sleeping NULL   NULL               0       master CHECKPOINT SLEEP 0
0   7    sleeping NULL   NULL    metin1_dtm 0     sybsystemdb ASTC HANDLER  0