it-swarm.com.de

Finden, wann eine Tabelle das letzte Mal aktualisiert wurde

Die Abfrage:

SELECT 
    name AS TableName, 
    create_date AS CreatedDate, 
    modify_date as ModifyDate 
FROM sys.tables 
order by ModifyDate;

... wird mir sagen, wann eine Tabelle das letzte Mal erstellt und geändert wurde (aus DDL-Sicht). Ich möchte jedoch wissen, wann die letzten Daten tatsächlich eingefügt oder aus der Tabelle entfernt wurden. Ist es möglich, dies in SQL Server zu bekommen?

18
dublintech

Möglicherweise können Sie sich ein Bild davon machen

SELECT last_user_update
FROM   sys.dm_db_index_usage_stats us
       JOIN sys.tables t
         ON t.object_id = us.object_id
WHERE  database_id = db_id()
       AND t.object_id = object_id('dbo.YourTable') 

die Daten dort bleiben jedoch bei Neustarts des Dienstes nicht erhalten und entspricht möglicherweise nicht Ihren Anforderungen (z. B. Ausführen von DELETE FROM T WHERE 1=0 aktualisiert die Zeit, obwohl keine Zeilen tatsächlich gelöscht wurden)

24
Martin Smith