Wer den Zustand einer Zeile zu einem beliebigen Zeitpunkt in der Vergangenheit rekonstruieren muss, baut klassischerweise eine eigene Audit-Trail-Tabelle mit Triggern oder Anwendungscode. Der SQL:2011-Standard definiert dafür eine robustere Alternative: system-versionierte Tabellen, bei denen die Datenbank selbst bei jedem UPDATE und DELETE automatisch eine vollständige Historie mit gültigen Zeiträumen pflegt, ganz ohne zusätzlichen Anwendungscode. SQL Server und
MariaDB implementieren dieses Konzept bereits produktionsreif, mit eigener Syntax für Zeitreise-Abfragen. Dieser Artikel zeigt, wie die Technik konkret funktioniert, wo sie sich von handgebauten Audit-Trails unterscheidet und wo ihre Grenzen liegen.