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


sys.dm_tran_session_transactions (Transact-SQL)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Возвращает сведения о взаимосвязях связанных транзакций и сеансов.

Примечание.

Чтобы вызвать это из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_tran_session_transactions. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Имя столбца Тип данных Description
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 = транзакция не активна в сеансе через связанные сеансы.
open_transaction_count int Количество открытых транзакций для каждого сеанса.
pdw_node_id int Область применения: Azure Synapse Analytics, Analytics Platform System (PDW)

Идентификатор узла, на который находится данное распределение.

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader## роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Замечания

Через связанные сеансы и распределенные транзакции транзакция может запускаться в нескольких сеансах. В таких случаях sys.dm_tran_session_transactions отображается несколько строк для одного и того же transaction_idсеанса, в котором выполняется транзакция. Из-за различий в том, как они записываются, open_transaction_count может не соответствовать sys.dm_exec_sessions.open_transaction_count.

Посредством выполнения множественных запросов в режиме автофиксации с помощью режима MARS, при этом можно иметь несколько транзакций в одном сеансе. В таких случаях sys.dm_tran_session_transactions отображается несколько строк для одной и той же session_idтранзакции, выполняющейся в этом сеансе.

Следующие шаги