適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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_transactionsにContributorワークスペースの役割またはより特権の高い役割のメンバーシップが必要です。
SQL Database の Basic、S0、S1 サービス対象、および 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プールではサポートされていません。