Compartilhar via


sys.dm_tran_database_transactions (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

A sys.dm_tran_database_transactions visão dinâmica de gestão retorna informações sobre transações no nível do banco de dados.

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. Somente é exclusiva em todos os bancos de dados em uma instância, mas não em todas as instâncias de servidor.
database_id int ID do banco de dados associado à transação.

No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou em um pool elástico, mas não em um servidor lógico.
database_transaction_begin_time datetime Hora na qual o banco de dados foi envolvido na transação. Especificamente, é a hora do primeiro registro de log no banco de dados da transação.
database_transaction_type int 1 = Transação de leitura/gravação

2 = Transação somente leitura

3 = Transação de sistema
database_transaction_state int 1 = A transação não foi inicializada.

3 = A transação foi inicializada mas não gerou registros de log.

4 = A transação gerou registros de log.

5 = A transação foi preparada.

10 = A transação foi confirmada.

11 = A transação foi revertida.

12 = A transação está sendo confirmada. (O registro logarítmico está sendo gerado, mas não é materializado ou persistido.)
database_transaction_status int Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
database_transaction_status2 int Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.
database_transaction_log_record_count bigint Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de registros de log gerados no banco de dados para a transação.
database_transaction_replicate_record_count int Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de registros de log gerados no banco de dados para a transação que é replicada.
database_transaction_log_bytes_used bigint Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de bytes usados até o momento no log do banco de dados para a transação.
database_transaction_log_bytes_reserved bigint Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de bytes reservados para uso no log do banco de dados para a transação.
database_transaction_log_bytes_used_system int Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de bytes usados até o momento no log do banco de dados para as transações do sistema em nome da transação.
database_transaction_log_bytes_reserved_system int Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de bytes reservados para uso no log do banco de dados para as transações do sistema em nome da transação.
database_transaction_begin_lsn numeric(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de sequência do log (LSN) do registro de início para a transação no log de banco de dados.
database_transaction_last_lsn numeric(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do registro de log mais recente para a transação no log de banco de dados.
database_transaction_most_recent_savepoint_lsn numeric(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do ponto de salvamento mais recente para a transação no log de banco de dados.
database_transaction_commit_lsn numeric(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do registro de log de confirmação para a transação no log de banco de dados.
database_transaction_last_rollback_lsn numeric(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN que foi revertido mais recentemente. Se nenhuma reversão tiver ocorrido, o valor será MaxLSN.
database_transaction_next_undo_lsn numeric(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do próximo registro a ser desfeito.
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.
database_transaction_first_repl_lsn numeric(25,0) Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

LSN do primeiro registro log na transação que precisa de replicação.

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_database_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 este DMV a partir do Azure Synapse Analytics ou Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_tran_database_transactions Esta sintaxe não é suportada por pool SQL serverless no Azure Synapse Analytics.