Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
A sys.dm_tran_active_transactions vista de gestão dinâmica devolve informações sobre transações para a instância.
| Nome da Coluna | Tipo de dados | Description |
|---|---|---|
transaction_id |
bigint | ID da transação ao nível da instância, não ao nível da base de dados. É única apenas em todas as bases de dados dentro de uma instância, mas não única em todas as instâncias do servidor. |
name |
nvarchar(32) | Nome da transação. Isto é sobrescrito se a transação estiver marcada e o nome marcado substituir o nome da transação. |
transaction_begin_time |
datetime | Hora em que a transação começou. |
transaction_type |
int | Tipo de transação. 1 = Transação de leitura/escrita 2 = Transação apenas de leitura 3 = Transação do sistema 4 = Transação distribuída |
transaction_uow |
uniqueidentifier | Identificador da unidade de trabalho de transação (UOW) para transações distribuídas. O coordenador de transações distribuídas da Microsoft (MS DTC) utiliza o identificador UOW para trabalhar com a transação distribuída. |
transaction_state |
int | 0 = A transação ainda não foi completamente inicializada. 1 = A transação foi inicializada mas ainda não iniciou. 2 = A transação está ativa. 3 = A transação terminou. Usado para transações apenas de leitura. 4 = O processo de commit foi iniciado na transação distribuída. Apenas para transações distribuídas. A transação distribuída continua ativa, mas não é possível realizar processamento adicional. 5 = A transação está em estado preparado e à espera de resolução. 6 = A transação foi confirmada. 7 = A transação está a ser revertida. 8 = A transação foi revertida. |
transaction_status |
int | Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida. |
transaction_status2 |
int | Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é 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 suportado. A compatibilidade futura não é garantida. |
dtc_isolation_level |
int | Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida. |
filestream_transaction_id |
Varbinário(128) |
Aplica-se a: Banco de Dados SQL do Azure. Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida. |
pdw_node_id |
int |
Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW) O identificador do nó em que esta distribuição se encontra. |
Permissions
No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.
No Microsoft Fabric, é necessária a pertença ao papel de espaçode trabalho Contribuinte ou a um papel mais privilegiado para consultar sys.dm_tran_active_transactions.
No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.
Permissões para SQL Server 2022 e posterior
Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.
Observações
Para chamar a esta vista de gestão dinâmica 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 um pool SQL serverless no Azure Synapse Analytics.
Examples
A. Use sys.dm_tran_active_transactions com outros DMVs para encontrar informações sobre transações ativas
O exemplo seguinte mostra quaisquer transações ativas no sistema. A consulta fornece informações detalhadas sobre a transação, a sessão do utilizador, a aplicação submetida e 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;