Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка SQL аналитики в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в Microsoft Fabric
Динамический sys.dm_tran_session_transactions вид управления возвращает корреляционную информацию для связанных транзакций и сессий.
| Имя столбца | Тип данных | 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.
В Microsoft Fabric для запроса sys.dm_tran_session_transactionsтребуется членство в роли Contributor workspace или более привилегированной роли.
Для целей службы База данных 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транзакции, выполняющейся в этом сеансе.
Чтобы вызвать из Azure Synapse Analytics или Analytics Platform System (PDW), используйте название sys.dm_pdw_nodes_tran_session_transactions. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.