Meet SQL Server 2016
SQL Server 2016 Release Candidate 3 was released recently, amoung other new features - temporal tables: a system-versioned table allows you to query updated and deleted data, while a normal table can only return the current data.
These are the most common use cases for temporal tables:
- Audit. With temporal tables you can find out what values a specific entity has had over its entire lifetime.
- Slowly changing dimensions. A system-versioned table exactly behaves like a dimension with type 2 changing behavior for all of its columns.
- Repair record-level corruptions. Think of it as a sort of back-up mechanism on a single table. Accidentally deleted a record? Retrieve it from the history table and insert it back into the main table
See Introduction to SQL Server 2016 Temporal Tables for more info