sys.dm_tran_session_transactions (Transact-SQL)
返回关联事务和会话的相关信息。
适用范围:SQL Server(SQL Server 2008 至当前版本),Azure SQL Database。 |
列名 |
数据类型 |
说明 |
---|---|---|
session_id |
int |
正在运行事务的会话的 ID。 |
transaction_id |
bigint |
事务的 ID。 |
transaction_descriptor |
binary(8) |
SQL Server 在与客户端驱动程序通信时使用的事务标识符。 |
enlist_count |
int |
正在处理事务的会话中的活动请求数。 |
is_user_transaction |
bit |
1 = 事务由用户请求启动。 0 = 系统事务。 |
is_local |
bit |
1 = 本地事务。 0 = 分布式事务或登记的绑定会话事务。 |
is_enlisted |
bit |
1 = 登记的分布式事务。 0 = 非登记的分布式事务。 |
is_bound |
bit |
1 = 事务在通过绑定会话的会话中处于活动状态。 0 = 事务在通过绑定会话的会话中处于非活动状态。 |
open_transaction_count |
每个会话的打开的事务数。 |
权限
要求具有服务器的 VIEW SERVER STATE 权限。
注释
通过绑定会话和分布式事务,一个事务可以运行于多个会话中。 在这种情况下,sys.dm_tran_session_transactions 将对同一 transaction_id 显示多个行,当前运行事务的每个会话对应一行。
通过使用多个活动的结果集 (MARS) 以自动提交模式执行多个请求,一个会话中可以有多个活动事务。 在这种情况下,sys.dm_tran_session_transactions 将对同一 session_id 显示多个行,在该会话中运行的每个事务对应一行。