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 行ずつ表示されます。