Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Depósito no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
A sys.dm_tran_active_transactions visão de gerenciamento dinâmico retorna informações sobre as transações da instância.
| Nome da Coluna | Tipo de Dados | Descrição |
|---|---|---|
transaction_id |
bigint | ID da transação no nível da instância, e não no nível do banco de dados. É exclusiva apenas em todos os bancos de dados em uma instância, mas não em todas as instâncias de servidor. |
name |
nvarchar(32) | Nome da transação. O nome será substituído se a transação for marcada e o nome marcado substituirá o nome de transação. |
transaction_begin_time |
datetime | Hora de início da transação. |
transaction_type |
int | Tipo de transação. 1 = Transação de leitura/gravação 2 = Transação somente leitura 3 = Transação de sistema 4 = Transação distribuída |
transaction_uow |
uniqueidentifier | Identificador da UOW (unidade de trabalho) da transação para transações distribuídas. O coordenador de transações distribuídas da Microsoft (MS DTC) usa o identificador UOW para trabalhar com a transação distribuída. |
transaction_state |
int | 0 = A transação não foi completamente inicializada ainda. 1 = A transação foi inicializada, mas não foi iniciada. 2 = A transação está ativa. 3 = A transação foi encerrada. Usado para transações somente leitura. 4 = O processo de confirmação foi iniciado na transação distribuída. Apenas para transações distribuídas. A transação distribuída ainda está ativa, mas não poderá mais ser realizado o processamento. 5 = A transação está em um estado preparado e aguardando resolução. 6 = A transação foi confirmada. 7 = A transação está sendo revertida. 8 = A transação foi revertida. |
transaction_status |
int | Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida. |
transaction_status2 |
int | Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida. |
dtc_state |
int |
Aplica-se a: Banco de Dados SQL do Azure. 1 = ATIVO 2 = PREPARADO 3 = COMPROMETIDO 4 = ABORTADO 5 = RECUPERADO |
dtc_status |
int | Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida. |
dtc_isolation_level |
int | Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida. |
filestream_transaction_id |
varbinary(128) |
Aplica-se a: Banco de Dados SQL do Azure. Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida. |
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.
No Microsoft Fabric, é necessária a filiação ao papel de workspaceContribuidor ou a um papel mais privilegiado para consultar sys.dm_tran_active_transactions.
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.
Observações
Para chamar essa visão dinâmica de gerenciamento do Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_tran_active_transactions Esta sintaxe não é suportada por pool SQL serverless no Azure Synapse Analytics.
Exemplos
R. Use sys.dm_tran_active_transactions com outros DMVs para encontrar informações sobre transações ativas
O exemplo a seguir mostra quaisquer transações ativas no sistema. A consulta fornece informações detalhadas sobre a transação, a sessão do usuário, a aplicação que foi enviada, a consulta que a iniciou, entre muitas outras.
SELECT
GETDATE() as now,
DATEDIFF(SECOND, transaction_begin_time, GETDATE()) as tran_elapsed_time_seconds,
st.session_id,
txt.text,
*
FROM
sys.dm_tran_active_transactions at
INNER JOIN sys.dm_tran_session_transactions st ON st.transaction_id = at.transaction_id
LEFT OUTER JOIN sys.dm_exec_sessions sess ON st.session_id = sess.session_id
LEFT OUTER JOIN sys.dm_exec_connections conn ON conn.session_id = sess.session_id
OUTER APPLY sys.dm_exec_sql_text(conn.most_recent_sql_handle) AS txt
ORDER BY
tran_elapsed_time_seconds DESC;