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.
[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
CommitTime
The time of the committing transaction.
[Column("commit_time")]
[NotNull]
public DateTime CommitTime { get; set; }
Property Value
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
TransactionalOrdinal
Offset of the transaction in the block.
[Column("transactional_ordinal")]
[NotNull]
public int TransactionalOrdinal { get; set; }
Property Value
UserName
The name of the user who started the transaction. Captured by calling ORIGINAL_LOGIN()
.
[Column("user_name()")]
[NotNull]
public string UserName { get; set; }