In meinen DWH-Projekten verwende ich in der Regel eine Spalte _InsertDate um zu protokollieren, wann der letzte Import erfolgt ist und so die Aktualität des DWH zu monitoren.
getdate in Table-Definition
Die einfachste Möglichkeit ist, in der Zieltabelle eine Spalte mit getdate() hinzuzufügen.
Das hat jedoch einen negativen Sideeffekt, dass die Zeit genau mitprotokolliert wird, und nicht (oder nur schwer) ermittelbar ist, welche Daten vom selben Import kommen. In diesem Beispiel gehören die Daten alle zu einem Import.
Man könnte mit der Rundung der Uhrzeit auf Minuten die Daten aggregieren. Details siehe hier. Das funktioniert nur, wenn sich die Uhrzeit innerhalb einer Minute passiert. Geht die Zeit über eine Minute hat man wieder mehrere Einträge.
gemeinsames Datum in der Befüllung
Wie man sieht, hat das getdate() in der Table-Definition einige Probleme, insbesondere wenn man nachträglich einen bestimmten Import herauslöschen möchte. Besser wäre es beispielsweise nachträglich oder direkt bei der Befüllung eine Variable zu definieren, die ein eindeutiges Datum beinhaltet und dieses zu verwenden. Dann ist die Uhrzeit nicht ganz so genau – das ist aber auch gar nicht die Zielsetzung.
Declare @now as datetime = getdate() Update tbl Set Insertdate = @now where Insertdate is null