sys.dm_tran_database_transactions (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
返回有关数据库级事务的信息。
注意
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此 DMV,请使用名称 sys.dm_pdw_nodes_tran_database_transactions。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
列名称 | 数据类型 | 描述 |
---|---|---|
transaction_id | bigint | 实例级而非数据库级的事务 ID。 仅在一个实例内的所有数据库中唯一,在所有服务器实例中则不唯一。 |
database_id | int | 与事务关联的数据库的 ID。 在 Azure SQL 数据库中,这些值在单一数据库或弹性池中是唯一的,但在逻辑服务器中不是唯一的。 |
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 托管实例,需要 VIEW SERVER STATE
权限。
在SQL 数据库基本、S0 和 S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##
身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE
权限或 ##MS_ServerStateReader##
服务器角色中的成员身份。
SQL Server 2022 及更高版本的权限
要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。