Ledger functionality adds tamper-evidence to Azure SQL. It cryptographically links blocks of transactions together (like a blockchain), creating an immutable history. If a DBA tries to modify a row in the history table directly, the cryptographic verification fails.
Creating a Ledger Table
CREATE TABLE dbo.Transactions
(
TransactionId int PRIMARY KEY,
Amount decimal(10,2)
)
WITH
(
SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.TransactionsHistory),
LEDGER = ON
);
Verification
You can run a stored procedure to verify the integrity of the database against a digest stored in immutable storage (Azure Blob with WORM).
Key Takeaways
- Use for Financial, Healthcare, and Supply Chain systems where auditability is mandated.
- It is transparent to the application (just normal SQL inserts).
Discover more from C4: Container, Code, Cloud & Context
Subscribe to get the latest posts sent to your email.