Core component of SQL Server for storing, processing, and securing data
Hi @Stanislav Slovik - Administrator ,
Thank you for reaching out to the Microsoft Q&A forum.
Your concern is valid. Once data corrections are made directly in the database and are not reflected back to the source files, the database effectively becomes the most accurate version of the data.
My recommendation would be:
- Keep a dedicated audit/correction table that stores all manual changes (old value, new value, timestamp, ticket reference, user, and reason for change).
- Enable Temporal Tables or Change Data Capture (CDC) in Azure SQL Database to maintain historical versions of the data.
- Periodically export critical tables or snapshots to Azure Storage for long-term retention beyond the point-in-time restore window.
- If possible, keep the raw layer immutable and apply corrections in a separate curated/business layer rather than modifying raw data directly.
A common architecture is:
Source Files
↓
Raw Layer (Original Data)
↓
Correction/Audit Layer
↓
Curated Layer
↓
Reporting
This approach provides better auditability, recovery options, and data lineage. If a table is accidentally deleted or corrupted months later, you can rebuild it using the original source data together with the recorded corrections, rather than relying solely on source files that no longer reflect the current state.
Overall, your idea of maintaining a correction register combined with periodic exports/snapshots would be the approach I would recommend for a production DWH environment.