sys.dm_tran_session_transactions (Transact-SQL)

関連付けられたトランザクションとセッションの相関関係情報を返します。

列名

データ型

説明

session_id

int

トランザクションを実行中のセッションの ID。

transaction_id

bigint

トランザクションの ID。

transaction_descriptor

binary(8)

クライアント ドライバとの通信時に SQL Server によって使用されるトランザクション識別子。

enlist_count

int

トランザクションで処理中のセッション内にあるアクティブな要求数。

is_user_transaction

bit

1 = ユーザーの要求によって開始されたトランザクション。

0 = システム トランザクション。

is_local

bit

1 = ローカル トランザクション。

0 = 分散トランザクション、または参加しているバインドされたセッションのトランザクション。

is_enlisted

bit

1 = 参加している分散トランザクション。

0 = 参加している分散トランザクションではない。

is_bound

bit

1 = トランザクションは、バインドされたセッションを介したセッションでアクティブです。

0 = トランザクションは、バインドされたセッションを介したセッションでアクティブではありません。

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。

説明

バインドされたセッションと分散トランザクションを使用すると、1 つ以上のセッションでトランザクションを実行できます。このような場合、sys.dm_tran_session_transactions では、同じ transaction_id を持つ複数の行が表示されます。つまり、トランザクションが実行中のセッションごとに 1 行ずつ表示されます。

複数のアクティブな結果セット (MARS) を使用する自動コミット モードで複数の要求を実行すると、1 つのセッションに複数のアクティブなトランザクションを含めることができます。このような場合、sys.dm_tran_session_transactions では、同じ session_id を持つ複数の行が表示されます。つまり、そのセッションで実行中のトランザクションごとに 1 行ずつ表示されます。