sys.dm_tran_session_transactions (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

A sys.dm_tran_session_transactions visão dinâmica de gestão retorna informações de correlação para transações e sessões associadas.

Nome da Coluna Tipo de dados Description
session_id int ID da sessão na qual a transação está sendo executada.
transaction_id bigint ID da transação.
transaction_descriptor binary(8) Identificador de transação usado pelo SQL Server ao se comunicar com o driver cliente.
enlist_count int Número de solicitações ativas na sessão que trabalha na transação.
is_user_transaction bit 1 = a transação foi iniciada por uma solicitação de usuário.

0 = Transação de sistema.
is_local bit 1 = Transação local.

0 = Transação distribuída ou uma transação de sessão associada inscrita.
is_enlisted bit 1 = Transação distribuída inscrita

0 = Não é uma transação distribuída inscrita
is_bound bit 1 = A transação está ativa na sessão por meio de sessões associadas.

0 = A transação não está ativa na sessão por meio de sessões associadas.
open_transaction_count int O número de transações abertas para cada sessão.
pdw_node_id int Aplica-se ao: Azure Synapse Analytics

O identificador do nó no qual essa distribuição está.

Permissions

No SQL Server e na Instância Gerenciada de SQL, requer permissão VIEW SERVER STATE.

No Microsoft Fabric, é necessária a filiação ao papel de workspaceContribuidor ou a um papel mais privilegiado para consultar sys.dm_tran_session_transactions.

No Banco de Dados SQL Básico, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administração do Microsoft Entra ou a associação na função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader## é necessária.

Permissões para SQL Server 2022 e posterior

Requer VIEW permissão ESTADO DE DESEMPENHO DO SERVIDOR no servidor.

Observações

Por meio de sessões vinculadas e transações distribuídas, é possível que uma transação esteja rodando em mais de uma sessão. Nesses casos, sys.dm_tran_session_transactions mostra várias linhas para o mesmo transaction_id, uma para cada sessão em que a transação está sendo executada. Por causa das diferenças na forma como são registradas, open_transaction_count podem não coincidirsys.dm_exec_sessions...open_transaction_count

Ao executar múltiplas requisições no modo autocommit usando múltiplos conjuntos de resultados ativos (MARS), é possível ter mais de uma transação ativa em uma única sessão. Nesses casos, sys.dm_tran_session_transactions mostra várias linhas para o mesmo session_id, uma para cada transação em execução nessa sessão.

Para ligar do Azure Synapse Analytics, use o nome sys.dm_pdw_nodes_tran_session_transactions. Essa sintaxe não é suportada pelo pool de SQL sem servidor no Azure Synapse Analytics.