適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric の SQL データベース
sys.dm_tran_session_transactions動的管理ビューは、関連するトランザクションやセッションの相関情報を返します。
| 列名 | データ型 | 説明 |
|---|---|---|
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 = トランザクションは、バインドされたセッションを介したセッションでアクティブではありません。 |
open_transaction_count |
int | セッションごとに開いているトランザクションの数。 |
pdw_node_id |
int |
適用対象: Azure Synapse Analytics、Analytics Platform System (PDW) このディストリビューションがオンになっているノードの識別子。 |
アクセス許可
SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。
Microsoft Fabricでは、クエリsys.dm_tran_session_transactionsにContributorワークスペースの役割またはより特権の高い役割のメンバーシップが必要です。
SQL Database の Basic、S0、S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。
SQL Server 2022 以降でのアクセス許可
サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。
解説
バウンドセッションや分散トランザクションを通じて、トランザクションが複数のセッションで実行されることもあります。 このような場合、 sys.dm_tran_session_transactions は、トランザクションが実行されているセッションごとに 1 つずつ、同じ transaction_idに対して複数の行を表示します。 記録方法の違いがあるため、open_transaction_countsys.dm_exec_sessions.open_transaction_countと一致しないかもしれません。
複数のアクティブ結果セット(MARS)を使ってオートコミットモードで複数のリクエストを実行することで、1つのセッション上で複数のアクティブなトランザクションを持つことが可能です。 このような場合、 sys.dm_tran_session_transactions は、同じ session_idに対して複数の行 (そのセッションで実行されているトランザクションごとに 1 行) を表示します。
Azure Synapse AnalyticsまたはAnalytics Platform System(PDW)から通話するには、 sys.dm_pdw_nodes_tran_session_transactionsの名前を使ってください。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。