System-versioned tables in SQL Server 2016
SQL Server 2016 introduces support for system-versioned temporal tables. Unfortunately, application-time tables are not implemented in this version. System-versioned temporal tables bring built-in support for providing information about data stored in the table at any point in time rather than only the data that is correct at the current moment in time. They are implemented according to the specification in the ANSI SQL 2011 standard with a few extensions.
How temporal tables work in SQL Server 2016
A system-versioned temporal table is implemented in SQL Server 2016 as a pair of tables: the current table containing the actual data, and the history table where only historical entries are stored. There are many limitations of both current and history tables. Here are limitations and considerations that you must take into account for the current table of a system-versioned temporal table:
It must have a primary key defined
It must have one
PERIOD FOR SYSTEM_TIME...