sys.dm_tran_database_transactions (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics 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) 及更高版本。

数据库中为副本 (replica)事务生成的日志记录数。
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)

事务中需要副本 (replica)的第一条日志记录的 LSN。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在SQL 数据库基本、S0S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

后续步骤