Поделиться через


sys.database_ledger_transactions (Transact-SQL)

Область применения: SQL Server 2022 (16.x) База данных SQL Azure Управляемый экземпляр SQL Azure

Записывает криптографически защищенный журнал транзакций базы данных для таблиц реестра в базе данных. В этом отношении строка представляет транзакцию базы данных.

Дополнительные сведения о реестре базы данных см. в статье Реестр.

Имя столбца Тип данных Description
transaction_id bigint Уникальный идентификатор транзакции для базы данных (соответствует идентификатору транзакции в журнале транзакций базы данных).
block_id bigint Порядковый номер, определяющий строку.
transactional_ordinal int Смещение транзакции в блоке.
commit_time datetime2(7) Время фиксации транзакции.
principal_name sysname Имя пользователя, начавшего транзакцию. Записывается путем вызова ORIGINAL_LOGIN().
table_hashes varbinary(max) Это набор пар "ключ-значения", хранящихся в двоичном формате. Ключи — это идентификаторы объектов (из sys.objects) таблиц базы данных реестра, измененных транзакцией. Каждое значение является хэшом SHA-256 всех версий строк, созданных или сделанных недопустимыми транзакцией.

Двоичный формат данных, хранящихся в этой строке: <version><length>[<key><value>]

- version — указывает версию кодирования. Длина: 1 байт.
- length — количество записей в списке пар "ключ-значение". Длина: 1 байт.
- key — идентификатор объекта. Длина: 4 байта.
- value — хэш строк, кэшированных в таблице, с идентификатором объекта, хранящимся в качестве ключа. Длина: 32 байта.

Разрешения

Требуется разрешение VIEW LEDGER CONTENT.

См. также