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