Partilhar via


sys.database_ledger_transactions (Transact-SQL)

Aplica-se a: SQL Server 2022 (16.x) e versões posteriores Azure SQL DatabaseAzure SQL Managed Instance

Captura o histórico criptograficamente protegido das transações da base de dados contra tabelas de registo na base de dados. Uma linha nesta vista representa uma transação de base de dados.

Para obter mais informações sobre o livro-razão do banco de dados, consulte Livro-razão.

Nome da coluna Tipo de dados Description
transaction_id bigint Um ID de transação que é único para a base de dados (corresponde a um ID de transação no registo de transações da base de dados).
block_id bigint Um número de sequência que identifica uma linha.
transactional_ordinal int Deslocamento da transação no bloco.
commit_time datetime2(7) O momento da transação de compromisso.
principal_name sysname O nome do utilizador que iniciou a transação. Capturado ao chamar ORIGINAL_LOGIN().
table_hashes varbinary(max) Este é um conjunto de pares chave-valor, armazenados num formato binário. As chaves são IDs de objetos (provenientes de sys.objects) das tabelas de base de dados do livro-registo, modificadas pela transação. Cada valor é um hash SHA-256 de todas as versões da linha, uma transação criada ou invalidada.

O formato binário dos dados armazenados nesta linha é: <version><length>[<key><value>], onde

- version - indica a versão de codificação. Comprimento: 1 byte.
- length - o número de entradas na lista de pares-chave-valor. Comprimento: 1 byte.
- key - um ID de objeto. Comprimento: 4 bytes.
- value - o hash das linhas que a transação armazenava em cache na tabela com o ID do objeto armazenado como chave. Comprimento: 32 bytes.

Permissions

Requer a permissão VIEW LEDGER CONTENT .

Consulte também