Sie sind hier: Startseite | Wissen

Was ist System-Versioned Table?

Mit SQL Server 2016 hatte Microsoft den Tabellentyp der "temporalen Tabellen" (alias "System-Versioned Tables") eingeführt, bei denen der SQL Server 2016 automatisch alle früheren Inhalte einer Tabelle in einer Historientabelle speichert. Eine normale SQL-Abfrage liefert immer den letzten Zustand, mit speziellen Abfragen kommt der Nutzer an alte Versionen.

Beispiel: Erweitern der Tabelle "Kunde" zur temporalen Tabelle
ALTER TABLE Kunden
ADD

ValidFrom datetime2 (0) GENERATED ALWAYS AS ROW START HIDDEN
constraint DF_ValidFrom DEFAULT DATEADD(SECOND, -1, SYSUTCDATETIME())
, ValidTo datetime2 (0) GENERATED ALWAYS AS ROW END HIDDEN
constraint DF_ValidTo DEFAULT '9999.12.31 23:59:59.99'
, PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo);

ALTER TABLE Kunden
SET (SYSTEMVERSIONING = ON (HISTORYTABLE = dbo.KundenHistory);
GO

Aufbewahrungszeit (ab SQL Server 2017)

Ein Problem in der Praxis ist, dass der SQL Server bei der bisherigen Implementierung die veralteten Datensätze für immer aufbewahrt, sofern der Nutzer diese nicht manuell bzw. per Job löscht (vgl. [https://www.mssqltips.com/sqlservertip/4674/managing-temporal-table-history-in-sql-server-2016/].) Neu in der Version 2017 sind Aufbewahrungsrichtlinien (Retention Policies), mit denen man eine automatische Löschung nach n Tagen, Wochen, Monaten oder Jahren festlegen kann. Der folgende Befehl legt für die Datensätze der versionierten Tabelle "Kunde" eine Aufbewahrungsdauer von 14 Tagen fest:

ALTER TABLE Kunde
SET (SYSTEMVERSIONING = ON (HISTORY_TABLE = dbo.KundenHistory, HISTORY_RETENTIONPERIOD = 14 DAYS));
GO

Es ist aber weiterhin nicht möglich, anstelle der Aufbewahrungszeit die Aufbewahrung auf eine bestimmte Anzahl von Versionen zu beschränken.

Querverweise zu anderen Begriffen im Lexikon

ART
EAD
UTC
SQL
Compiler
Android

Beratung & Support:

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema System-Versioned Table;  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema:

 Alle unsere aktuellen Fachbücher