Compartilhar via


sys.dm_tran_session_transactions (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito 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 Descrição
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 a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que essa distribuição está ativada.

Permissões

No SQL Server e na Instância Gerenciada de SQL, requer a 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.

Nos objetivos de serviço do Banco de Dados SQL Básico, S0 e S1 e para bancos de dados em pools elásticos, é necessário ter a conta do administrador do servidor, a conta do administrador do Microsoft Entra ou a associação à ##MS_ServerStateReader##função de servidor. 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## são necessárias.

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Comentários

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 ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_tran_session_transactions. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.