次の方法で共有


sys.dm_tran_session_transactions(Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics 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_transactionsContributorワークスペースの役割またはより特権の高い役割のメンバーシップが必要です。

SQL Database の BasicS0S1 サービス対象、および 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 プールでサポートされていません。