sys.dm_tran_database_transactions (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 BasicS0、および S1 サービス目標、および弾性プール内のデータベースの場合サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または##MS_ServerStateReader## サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

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

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

次のステップ