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 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.

Próximas etapas