History-Tables

Wozu dienen in der SQL-Server Version, ab die 2016, die Verlaufs-Tabellen / History-Tables? 
Nun, die Frage haben sich sicherlich schon einige von euch gestellt und wozu hat Microsoft diese Funktionalität eingeführt?

Es ist überhaupt nicht selten, dass zur Validierung spezieller Daten in den vergangen Versionen Trigger entwickelt wurden.
Diese dienten dazu, auf UPDATE oder DELETE-Befehle zu reagieren. Wurden bestimmte Daten über eine Anwendung verändert, musste sichergestellt werden, dass die „ÄNDERUNGEN“ protokolliert wurden.
Dazu war es unumgänglich entsprechende Funktionen entweder über Trigger oder über die Anwendung bereitzustellen. Die Entwicklung solcher Funktionen waren Zeit,- und Kostenaufwendig, je nachdem wie umfangreich.

Das gehört nun seit der SQL-Server Version 2016 der Vergangenheit an.
Schauen Sie sich das kleine Video an und danach werden Sie in der Lage sein, entsprechende Funktionalität in Ihrem SQL-Server selbst zu implementieren.

Create Table dbo.Kunden
(
   KundenNr int Primary Key,
   Name1 varchar(255) NOT NULL,
   Nachname varchar(255) NOT NULL,
   StartZeit datetime2(0) GENERATED ALWAYS AS ROW START HIDDEN
   CONSTRAINT DF_StartZeit DEFAULT SYSUTCDATETIME(),
   EndeZeit datetime2(0) GENERATED ALWAYS AS ROW END HIDDEN
   CONSTRAINT DF_EndeZeit DEFAULT CONVERT(datetime2(0), '2017-12-31 23:59:59'),
PERIOD FOR SYSTEM_TIME (StartZeit, EndeZeit)
)
WITH ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.Kunden_2017));

--History ausschalten
ALTER TABLE dbo.Kunden SET (SYSTEM_VERSIONING = OFF)

--History einschalten
ALTER TABLE dbo.Kunden
SET ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.Kunden_2022))
Facebook
Twitter
LinkedIn
WhatsApp
Email