sys.dm_tran_session_transactions (Transact-SQL)
Возвращает сведения о взаимосвязях связанных транзакций и сеансов.
Имя столбца |
Тип данных |
Описание |
---|---|---|
session_id |
int |
Идентификатор сеанса, в котором выполняется транзакция. |
transaction_id |
bigint |
Идентификатор транзакции. |
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 = транзакция не активна в сеансе через связанные сеансы. |
Разрешения
Необходимо разрешение VIEW SERVER STATE на сервере.
Замечания
Через связанные сеансы и распределенные транзакции транзакция может запускаться в нескольких сеансах. В этом случае представление sys.dm_tran_session_transactions покажет несколько строк для одного идентификатора transaction_id — одну для каждого сеанса, в котором выполняется эта транзакция.
Посредством выполнения множественных запросов в режиме автофиксации с помощью режима MARS, при этом можно иметь несколько транзакций в одном сеансе. В этом случае представление sys.dm_tran_session_transactions покажет несколько строк для одного идентификатора session_id — одну для каждой транзакции, которая выполняется в этом сеансе.