Returns correlation information for associated transactions and sessions.
To call this from Azure SQL Data Warehouse or Parallel Data Warehouse, use the name sys.dm_pdw_nodes_tran_session_transactions.
|Column name||Data type||Description|
|session_id||int||ID of the session under which the transaction is running.|
|transaction_id||bigint||ID of the transaction.|
|transaction_descriptor||binary(8)||Transaction identifier used by SQL Server when communicating with the client driver.|
|enlist_count||int||Number of active requests in the session working on the transaction.|
|is_user_transaction||bit||1 = The transaction was initiated by a user request.
0 = System transaction.
|is_local||bit||1 = Local transaction.
0 = Distributed transaction or an enlisted bound session transaction.
|is_enlisted||bit||1 = Enlisted distributed transaction.
0 = Not an enlisted distributed transaction.
|is_bound||bit||1 = The transaction is active on the session via bound sessions.
0 = The transaction is not active on the session via bound sessions.
|open_transaction_count||The number of open transactions for each session.|
|pdw_node_id||int||Applies to: Azure SQL Data Warehouse, Parallel Data Warehouse
The identifier for the node that this distribution is on.
On SQL Server, requires
VIEW SERVER STATE permission.
On SQL Database, requires the
VIEW DATABASE STATE permission in the database.
Through bound sessions and distributed transactions, it is possible for a transaction to be running under more than one session. In such cases, sys.dm_tran_session_transactions will show multiple rows for the same transaction_id, one for each session under which the transaction is running.
By executing multiple requests in autocommit mode using multiple active result sets (MARS), it is possible to have more than one active transaction on a single session. In such cases, sys.dm_tran_session_transactions will show multiple rows for the same session_id, one for each transaction running under that session.