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 アクセス許可が必要です。
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback。
近日公開予定: 2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub イシューを段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、以下を参照してください:フィードバックの送信と表示