Partilhar via


sys.dm_tran_database_transactions (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

A sys.dm_tran_database_transactions vista de gestão dinâmica devolve informações sobre transações ao nível da base de dados.

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.
database_id int ID da base de dados associada à transação.

No Banco de Dados SQL do Azure, os valores são exclusivos em um único banco de dados ou pool elástico, mas não em um servidor lógico.
database_transaction_begin_time datetime Momento em que a base de dados entrou na transação. Especificamente, é o momento do primeiro registo de registo na base de dados para a transação.
database_transaction_type int 1 = Transação de leitura/escrita

2 = Transação apenas de leitura

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

3 = A transação foi inicializada mas não gerou registos de registo.

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

5 = A transação foi preparada.

10 = A transação foi comprometida.

11 = A transação foi revertida.

12 = A transação está a ser comprometida. (O registo de log está a ser gerado, mas não é materializado nem persistido.)
database_transaction_status int Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
database_transaction_status2 int Identificado apenas para fins informativos. Não suportado. A compatibilidade futura não é garantida.
database_transaction_log_record_count bigint Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

Número de registos de registo gerados na base 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 registos de log gerados na base de dados para a transação 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é agora no registo da base 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 registo da base de dados da 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é agora no registo da base de dados para 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 registo da base de dados para transações do sistema em nome da transação.
database_transaction_begin_lsn numérico(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

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

LSN do registo mais recente registado para a transação no registo da base de dados.
database_transaction_most_recent_savepoint_lsn numérico(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do ponto de gravação mais recente da transação no registo da base de dados.
database_transaction_commit_lsn numérico(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do registo de registo de commit para a transação no registo da base de dados.
database_transaction_last_rollback_lsn numérico(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN que foi recentemente revertido para. Se não tiver ocorrido rollback, o valor é MaxLSN.
database_transaction_next_undo_lsn numérico(25,0) Aplica-se a: SQL Server 2008 (10.0.x) e versões posteriores.

LSN do próximo registo a desfazer.
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.
database_transaction_first_repl_lsn numérico(25,0) Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

LSN do primeiro registo de log na transação que necessita de replicação.

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_database_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 isto 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 pelo pool SQL serverless no Azure Synapse Analytics.