sys.dm_tran_session_transactions (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)
Retorna informações de correlação de transações associadas e sessões.
Observação
Para chamar isso do Azure Synapse Analytics ou do PDW (Analytics Platform System), 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.
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
.
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 sessões associadas e transações distribuídas, é possível executar uma transação 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. Devido a diferenças em como eles são registrados, open_transaction_count
podem não corresponder sys.dm_exec_sessions
.open_transaction_count
.
Ao executar várias solicitações no modo de confirmação automática, usando conjuntos de resultados ativos múltiplos (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.