在SQL SERVER 2008 R2中,我有7個數據庫,每個數據庫大約有1000個表。獲取數據庫中所有表的最後一次用戶更新時間
我需要知道用戶最近更新了哪些表。隨着一些研究,我得到這個代碼:
SELECT OBJECT_NAME(OBJECT_ID) AS TableName,
last_user_update,
user_updates,
index_id
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('SP3D_DB_RESEARCH_MDB') AND
OBJECT_ID = OBJECT_ID('CORECone3d')
GO
這將返回結果只有一個,因爲它要求一個特定的表/數據庫的最後一個用戶的更新。
有沒有什麼辦法把它放在某種循環中,以便遍歷數據庫中的所有表,並且我可以得到最後修改的表?
它不一定是查詢結果,它可能是一個簡單的文本輸出。
我不知道這個問題,但我使用的是MS SQL SERVER MANAGEMENT STUDIO。
- 更新 -
基於普拉迪普答案,我得到下面的結果,與表名NULL
你就不能刪除'AND OBJECT_ID = OBJECT_ID('CORECone3d')'? – jpw 2014-10-10 01:36:23
如果我這樣做,那麼它有點像我需要顯示的結果,但TableName列上的所有值都是NULL然後 – RBasniak 2014-10-10 02:24:29
閱讀本文中的'備註'部分,它應該解決您的null問題:http://msdn.microsoft .com/en-us/library/ms186301.aspx – jpw 2014-10-10 02:31:37