适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统(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_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 权限。
在 Microsoft Fabric 中,查询 需要sys.dm_tran_database_transactions处于贡献者工作区角色或更高权限角色的成员身份。
在 SQL 数据库“基本”、“S0”和“S1”服务目标中,对于“弹性池”中的数据库,服务器管理员帐户、Microsoft Entra 管理员帐户或 ##MS_ServerStateReader##服务器角色中的成员身份为必填项。 对于所有其他 SQL 数据库服务目标,需要数据库的 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 中不支持 Server less SQL 池。