Sql-Server-2008
如何檢查最後一次在ms sql server中修改數據庫中的任何表
我有大約 5 個數據庫,我每天對所有 5 個數據庫進行備份。我知道在這 5 個數據庫中,有 1 個未使用,我們仍在備份該數據庫。
我的問題是我們如何檢查數據庫是否正在使用,例如如何驗證數據庫中最後一次發生插入、更新或刪除的時間。
我認為我認為我可以檢查 1 週的數據庫大小,如果數據庫的大小相同,則意味著它沒有被使用。但我想檢查最後一次執行任何 DML 命令是什麼時候。
這應該為您提供有關在特定數據庫上執行最後一次讀/寫的詳細資訊。
USE server_name; GO SET ANSI_WARNINGS OFF; SET NOCOUNT ON; GO WITH agg AS ( SELECT last_user_seek, last_user_scan, last_user_lookup, last_user_update FROM sys.dm_db_index_usage_stats WHERE database_id = DB_ID() ) SELECT last_read = MAX(last_read), last_write = MAX(last_write) FROM ( SELECT last_user_seek, NULL FROM agg UNION ALL SELECT last_user_scan, NULL FROM agg UNION ALL SELECT last_user_lookup, NULL FROM agg UNION ALL SELECT NULL, last_user_update FROM agg ) AS x (last_read, last_write);
注意
sys.dm_db_index_usage_stats
不返回有關記憶體優化索引的資訊。有關記憶體優化索引使用的資訊,請參閱sys.dm_db_xtp_index_stats
。