web-dev-qa-db-fra.com

Recherche de la dernière mise à jour d'une table

La requête:

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

... me dira la dernière fois qu'un tableau a été créé et modifié (du point de vue DDL). Mais je veux savoir la dernière fois que des données réelles ont été insérées ou supprimées de la table. Est-il possible d'obtenir cela dans SQL Server?

18
dublintech

Vous pourriez peut-être vous faire une idée

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') 

mais les données ne sont pas conservées lors des redémarrages de service et peut ne pas être précis pour vos besoins (par exemple, en exécutant DELETE FROM T WHERE 1=0 mettra à jour l'heure même si aucune ligne n'a été réellement supprimée)

24
Martin Smith