Partilhar via


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.

Próximas etapas