sys.dm_tran_session_transactions (Transact-SQL)

Aplica-se a: simSQL Server (todas as versões compatíveis) SimBanco de Dados SQL do Azure SimInstância Gerenciada do Azure SQL simAzure Synapse Analytics simParallel Data Warehouse

Retorna informações de correlação de transações associadas e sessões.

Observação

Para chamar isso de Azure Synapse Analytics ou , use o nome Parallel Data Warehouse 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 do 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 O número de transações abertas para cada sessão.
pdw_node_id int Aplica-se a: Azure Synapse Analytics , Parallel Data Warehouse

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

Permissões

Em SQL Server , requer VIEW SERVER STATE permissão.
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 ou Azure Active Directory de administrador é necessária. Em todos os outros objetivos de serviço do Banco de Dados SQL, VIEW DATABASE STATE a permissão é necessária no banco de dados.

Comentários

Por sessões associadas e transações distribuídas, é possível executar uma transação em mais de uma sessão. Nesse caso, sys.dm_tran_session_transactions exibirá várias linhas para o mesmo transaction_id, uma para cada sessão em que a transação está sendo executada.

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. Nesse caso, sys.dm_tran_session_transactions exibirá várias linhas para o mesmo session_id, uma para cada transação em execução na sessão.

Consulte Também

Exibições e funções de gerenciamento dinâmico (Transact-SQL)
Funções e exibições de gerenciamento dinâmico relacionadas à transação (Transact-SQL)