sys.dm_tran_database_transactions (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

データベース レベルのトランザクションに関する情報を返します。

Note

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

列名 データ型 説明
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 アクセス許可が必要です。

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

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

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

次のステップ