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