Поделиться через


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 — одну для каждой транзакции, которая выполняется в этом сеансе.