有沒有辦法找出數據最後輸入表格的時間?我試圖在我的數據庫中查找過時的表,並想知道是否有可以運行的簡單腳本?如何在SQL Server中查找未使用的表格
7
A
回答
7
你可以嘗試檢查查詢sys.dm_db_index_usage_stats動態管理視圖像這樣的結果:
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE [database_id] = DB_ID()
AND [object_id] = OBJECT_ID('TableName')
這將返回東西,像last_user_seek,掃描和對錶的索引更新日期。
Howvever,請注意,當服務器重新啓動時,動態管理視圖的統計信息將被重置。服務器運行的時間越長,如果記錄顯示沒有任何活動,您就越有信心。
我個人也將檢查所有的源代碼,以檢查問題表引用,並搜索所有的存儲過程/ UDF的爲引用太(你可以用SQL Search from Red Gate做到這一點 - 它是免費的)
0
如果這對您的應用程序和/或公司很重要,並且表格設計正確,那麼每個表格都應該有一個名爲'LastModifiedTime'的列。您可以查詢此表以確定哪些表已過時。
+0
不幸的是,我沒有設計初始數據庫。所以,我想知道sys數據庫表中是否有某些東西可以查詢,以便找出哪些表已不再使用,或者有一段時間沒有使用過。 –
1
如果任何人都在查找數據庫中所有未使用的表格(標題的請求多於問題正文),this guy有一個很好的查詢來引入數據庫中所有未更改的表格。在這種情況下,「未改變」是在sys.dm_db_index_usage_stats
中沒有條目的任何表(同樣,與AdaTheDev的回答一樣,僅在最後一次sql服務器重啓後)。
SELECT OBJECTNAME = Object_name(I.object_id),
INDEXNAME = I.name,
I.index_id
FROM sys.indexes AS I
INNER JOIN sys.objects AS O
ON I.object_id = O.object_id
WHERE Objectproperty(O.object_id, 'IsUserTable') = 1
AND I.index_id NOT IN (SELECT S.index_id
FROM sys.dm_db_index_usage_stats AS S
WHERE S.object_id = I.object_id
AND I.index_id = S.index_id
AND database_id = Db_id(Db_name()))
ORDER BY objectname,
I.index_id,
indexname ASC
相關問題
- 1. 如何使用sql server從表格中查找數據?
- 2. 如何找到未使用的SQL Server
- 3. 在SQL Server中查找特定表所依賴的表格
- 4. 如何在SQL Server中查找未索引的外鍵
- 5. 在PHP中使用MS SQL Server查找未使用的列的查詢
- 6. 如何查找在SQL Server 2008中創建表的查詢
- 7. 如何在SQL Server中的目標表中查找新字段?
- 8. 如何使用Sql Server 2008查找表的外鍵?
- 9. 如何找出數據庫中未使用的列(SQL Server 2008)。
- 10. 如何查找要插入的表格?在SQL Server中有沒有DMV?
- 11. 如何在SQL Server中使用c查找值是否爲NULL#
- 12. 如何在sql server中查找表的所有依賴關係
- 13. 如何查找sql server表中的表列的所有子項?
- 14. 在SQL Server中查找行
- 15. 如何從表中使用Like在sql server中查找特定單詞
- 16. 如何使用SQL Server基於查找表
- 17. 如何在SQL Server 2008 Management Studio中查看錶格的腳本?
- 18. 查找在SQL Server
- 19. SQL Server - 查找表中的重複項
- 20. 如何在SQL Server中使用CAST連接兩個表格
- 21. 如何在SQL Server上查找BCP?
- 22. 如何在SQL Server和Oracle中查找表空間?
- 23. 如何從SQL Server中的兩個表中查找MAX值?
- 24. 從C#中,如何查找SQL Server中表的列名稱?
- 25. 如何編寫查詢來查找在SQL Server表
- 26. 如何從SQL Server 2005中的列值查找表的列名?
- 27. 如何使用sql查詢從Excel中填充SQL Server表?
- 28. 在sql server 2012的表格中查找上一次應用的種子值
- 29. 查找未使用的SQL Server數據庫
- 30. 使用SQL Server查找表中的重複記錄
這正是我所期待的。謝謝! :O) –