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