回答
是 - 你可以創建一個跟蹤,MSDN - Data Access Tracing in SQL Server 2005。另外,如果你知道什麼是訪問它們(例如通過存儲過程),你可以在它們中留下跟蹤信息(向表中添加行),然後你就可以看到實際運行的是什麼。這不太安全 - 你被證明是一個負面因素,因爲你會發現難以趕上偶爾的命中。
我們使用的一種方法是隻重命名錶,到'zzz_OldName'並且讓它們留在那裏一段時間,定期修剪該模式的那個區域。
據我所知,在Sql Server中這樣的數據沒有統計數據。儘管您可以使用Sql Profiler在一段時間內獲取使用數據。
如果您的數據通過SProcs存儲到表中,我不確定Profiler會幫助哪些實際表受到影響 - 但我可能是錯誤的! – Kristen 2009-02-16 11:12:40
它不會但至少會顯示哪些SP被使用,哪些不是,這將幫助您找到未使用的表。 – 2009-02-16 11:14:19
您可以檢查您的DMV(Dynamic Management Views)。如果你的表都有一個主鍵,那麼就有一個主鍵索引,並且如果該索引永遠不被讀取,你的表根本就沒有被使用。
但請注意,這些是動態管理視圖 - 每次SQL Server啓動時它們都會重置爲0。你可能要考慮無論是SQL Server 2008中Performance DAta Collector或SQL DMV Stats項目爲SQL Server 2005刪除表:-)
馬克
也可以把之前拍攝過的長時間DMV數據在Table上觸發以在「WasFoundToBeUsedAfterAll」表中存儲TableName + GetDate()
您可能希望UpSert已存在的任何行,也許只有當現有的Date已經24小時或更長時間時,纔可以插入多個行 - 這隻會成爲維護問題!
-- shows table accesses since last MSSQL reboot via index stats.
-- NULL columns imply table wasnt accessed since the last restart.
SELECT
t.name AS 'Table',
Count(i.user_seeks) as 'Indexes',
SUM(i.user_seeks + i.user_scans + i.user_lookups)
AS 'Total accesses',
SUM(i.user_seeks) AS 'Seeks',
SUM(i.user_scans) AS 'Scans',
SUM(i.user_lookups) AS 'Lookups',
SUM(i.user_updates) AS 'Updates'
FROM
sys.dm_db_index_usage_stats i RIGHT OUTER JOIN
sys.tables t ON (t.object_id = i.object_id)
GROUP BY
i.object_id,
t.name
ORDER BY [Total accesses] DESC
- 1. SQL Server 2005表變更歷史記錄
- 2. 使用觸發器的SQL Server 2005歷史記錄表
- 3. SQL Server 2005中查詢歷史
- 4. 如何在SQL Server中的歷史記錄表中存儲歷史記錄
- 5. sql 2005鏡像警報歷史記錄
- 6. 將SQL Server點歷史記錄表遷移到歷史記錄表
- 7. SQL Server 2000如何查找表/行的事務歷史記錄
- 8. 在SQL Server中使用StoredProcedure保存歷史記錄
- 9. 檢測的歷史記錄表
- 10. SQL Server:我如何從歷史記錄表中獲取數據?
- 11. GWT歷史記錄:歷史記號
- 12. SQL歷史記錄表和觸發器
- 13. Netflix查看歷史記錄
- 14. SQL Server:爲審計/歷史記錄創建觸發器表
- 15. MS SQL Server CDC清理作業到歷史記錄表
- 16. 檢查SQL Server表中是否存在使用functoids的記錄
- 17. TSQL查詢歷史記錄表MSSQL2008r2
- 18. T-SQL迭代檢查歷史記錄模式
- 19. 更改歷史記錄表
- 20. SQL Server 2005中的標誌記錄
- 21. 在MySql中查詢的歷史記錄
- 22. 查看Asana中的歷史記錄
- 23. 在sql server 2008 Scheduler Job中查看定製日誌>查看歷史記錄?
- 24. 無法找出正確的SQL查詢歷史表記錄
- 25. MySQL - 從歷史記錄表中獲取歷史「快照」
- 26. 用於顯示數據更改歷史記錄的SQL查詢
- 27. 的SQL Server 2012的工作歷史記錄
- 28. 如何使用java檢查本地系統上的瀏覽器歷史記錄
- 29. 用jQuery清除表單歷史記錄
- 30. Linux下的SQL * Plus歷史記錄
+1'zzz_OldName''Scream Test'。我們在表名後加上日期,以便說一個月後,我們知道現在我們可以丟棄哪些表。同樣,對於任何「以防萬一」表,我們將TEMP_MyTableName_YYYYMMDD命名爲TEMP_MyTableName_YYYYMMDD - 所有按alpha分組的TEMP * – Kristen 2009-02-16 11:11:36