次の方法で共有


sys.dm_tran_database_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_database_transactions動的管理ビューはデータベースレベルでのトランザクション情報を返します。

列名 データ型 説明
transaction_id bigint データベース レベルではなくインスタンス レベルのトランザクションの ID。 インスタンス内のすべてのデータベースでのみ一意ですが、すべてのサーバー インスタンスで一意ではありません。
database_id int トランザクションが関連付けられているデータベースの ID。

Azure SQL Database では、値は 1 つのデータベースまたは Elastic Pool 内で一意ですが、論理サーバー内では一意ではありません。
database_transaction_begin_time datetime データベースがトランザクションに参加した時刻。 具体的には、トランザクションのデータベース内の最初のログ レコードの時刻です。
database_transaction_type int 1 = 読み取り/書き込みトランザクション

2 = 読み取り専用トランザクション

3 = システム トランザクション
database_transaction_state int 1 = トランザクションは初期化されていません。

3 = トランザクションは初期化されていますが、ログ レコードが生成されていません。

4 = トランザクションによってログ レコードが生成されました。

5 = トランザクションは準備済みです。

10 = トランザクションがコミットされました。

11 = トランザクションはロールバックされました。

12 = トランザクションはコミット中です。 (ログレコードは生成されていますが、物質化や永続化はされていません。)
database_transaction_status int 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
database_transaction_status2 int 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
database_transaction_log_record_count bigint 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

トランザクションのデータベースで生成されたログ レコードの数。
database_transaction_replicate_record_count int 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

レプリケートされるトランザクションのデータベースで生成されたログ レコードの数。
database_transaction_log_bytes_used bigint 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

トランザクションのデータベース ログでこれまでに使用されたバイト数。
database_transaction_log_bytes_reserved bigint 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

トランザクションのデータベース ログ内で使用するために予約されたバイト数。
database_transaction_log_bytes_used_system int 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

トランザクションの代用となるシステム トランザクションのデータベース ログ内でこれまでに使用されたバイト数。
database_transaction_log_bytes_reserved_system int 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

トランザクションの代わりにシステム トランザクションのデータベース ログで使用するために予約されたバイト数。
database_transaction_begin_lsn numeric(25,0) 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

データベース ログ内のトランザクションに対する、開始レコードのログ シーケンス番号 (LSN)。
database_transaction_last_lsn numeric(25,0) 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

データベース ログ内のトランザクションに対して、最後に記録されたレコードの LSN。
database_transaction_most_recent_savepoint_lsn numeric(25,0) 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

データベース ログ内のトランザクションに対する、最後のセーブポイントの LSN。
database_transaction_commit_lsn numeric(25,0) 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

データベース ログ内のトランザクションのコミット ログ レコードの LSN。
database_transaction_last_rollback_lsn numeric(25,0) 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

最後にロールバックされた LSN。 ロールバックが行われなかった場合、値は MaxLSN です。
database_transaction_next_undo_lsn numeric(25,0) 適用対象: SQL Server 2008 (10.0.x) 以降のバージョン。

元に戻す次のレコードの LSN。
pdw_node_id int 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW)

このディストリビューションがオンになっているノードの識別子。
database_transaction_first_repl_lsn numeric(25,0) 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW)

レプリケーションが必要なトランザクションの最初のログレコードのLSNです。

アクセス許可

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

Microsoft Fabricでは、クエリsys.dm_tran_database_transactionsContributorワークスペースの役割またはより特権の高い役割のメンバーシップが必要です。

SQL Database の BasicS0S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

注釈

Azure Synapse AnalyticsまたはAnalytics Platform System(PDW)からこのDMVを呼び出すには、名前 sys.dm_pdw_nodes_tran_database_transactions この構文はAzure Synapse AnalyticsのサーバーレスSQLプールではサポートされていません。