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 PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics
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 Básico, S0 e S1 do Banco de Dados SQL e para bancos de dados em pools elásticos, a conta de administrador do servidor, a conta de administrador do Microsoft Entra ou a ##MS_ServerStateReader##
associação na função de servidor são necessárias. 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.