Table of Contents

Class SecuritySchema.DatabaseLedgerTransaction

Namespace
LinqToDB.Tools.DataProvider.SqlServer.Schemas
Assembly
linq2db.Tools.dll

sys.database_ledger_transactions (Transact-SQL)

Applies to: √ Azure SQL Database

Captures the cryptographically protected history of database transactions against ledger tables in the database. A row in this view represents a database transaction.
For more information on database ledger, see Azure SQL Database ledger.


See sys.database_ledger_transactions.

[Table(Schema = "sys", Name = "database_ledger_transactions", IsView = true)]
public class SecuritySchema.DatabaseLedgerTransaction
Inheritance
SecuritySchema.DatabaseLedgerTransaction
Extension Methods

Properties

BlockID

A sequence number identifying a row.

[Column("block_id")]
[NotNull]
public long BlockID { get; set; }

Property Value

long

CommitTime

The time of the committing transaction.

[Column("commit_time")]
[NotNull]
public DateTime CommitTime { get; set; }

Property Value

DateTime

TableHashes

This is a set of key-values pairs, stored in a binary format. The keys are object IDs (from sys.objects) of ledger database tables, modified by the transaction. Each value is a SHA-256 hash of all row versions a transaction created or invalidated.

The binary format of data stored in this row is: <version><length>[<key><value>], where

- version - indicates the encoding version. Length: 1 byte.
- length - the number of entries in the key-value pair list. Length: 1 byte.
- key - an object ID. Length: 4 bytes.
- value - the hash of rows the transaction cached in the table with the object ID stored as the key. Length: 32 bytes.

[Column("table_hashes")]
[NotNull]
public byte[] TableHashes { get; set; }

Property Value

byte[]

TransactionID

A transaction ID that is unique for the database (it corresponds to a transaction ID in the database transaction log).

[Column("transaction_id")]
[NotNull]
public long TransactionID { get; set; }

Property Value

long

TransactionalOrdinal

Offset of the transaction in the block.

[Column("transactional_ordinal")]
[NotNull]
public int TransactionalOrdinal { get; set; }

Property Value

int

UserName

The name of the user who started the transaction. Captured by calling ORIGINAL_LOGIN().

[Column("user_name()")]
[NotNull]
public string UserName { get; set; }

Property Value

string