在我們公司的SQL服務器上,有一堆似乎沒有使用的數據庫。有沒有一種方法可以確定上次某人使用某個特定數據庫,連接到該數據庫或對其執行查詢?不活動的數據庫
Q
不活動的數據庫
1
A
回答
3
我不認爲每個數據庫統計都有上次使用的日期。
您可以執行的操作是將SQL Server分析器附加到數據庫,並使用數據庫名稱過濾器。你可以讓這個運行幾個星期,看看是否有任何活動。
另一個選項是檢查數據庫屬性 - >報告 - >標準報告 - >索引使用統計。如果任何索引的最後一次使用都很舊,那麼這就很好地表明數據庫沒有被使用。
或者,看看SQL Server Auditing。我沒有用過它,但看起來它可能適合您的需求。
1
這實際上是我使用的查詢。它會告訴你自從上次重新啓動以來最後一次使用的數據庫。它給出了上次使用的日期和上次使用的日期。這應該是你需要的。它是動態的,可以在任何服務器上工作,因爲它使用系統視圖。在主數據庫上運行它。
DECLARE @RESTART DATETIME
SELECT @RESTART = login_time
FROM sysprocesses
WHERE spid = 1
SELECT @@SERVERNAME AS SERVER_NAME
,DB_NAME(db.database_id) AS 'DATABASE'
, db.state_desc AS 'State'
, @RESTART AS 'SYSTEM_RESTART'
, MAX(coalesce(us.last_user_seek, us.last_user_scan, us.last_user_lookup,@RESTART)) AS 'LAST_USE'
,CASE
WHEN DATEDIFF(DAY,@RESTART, MAX(coalesce(us.last_user_seek, us.last_user_scan, us.last_user_lookup,@RESTART))) = 0
THEN 'Prior to restart ' + CONVERT(VARCHAR(5),DATEDIFF(DAY,MAX(coalesce(us.last_user_seek, us.last_user_scan, us.last_user_lookup,@RESTART)), CURRENT_TIMESTAMP)) +' days ago'
ELSE CONVERT(VARCHAR(5),DATEDIFF(DAY,MAX(coalesce(us.last_user_seek, us.last_user_scan, us.last_user_lookup,@RESTART)), CURRENT_TIMESTAMP))
END AS 'DAYS_SINCE_LAST_USE'
FROM sys.databases db
LEFT OUTER JOIN sys.dm_db_index_usage_stats us ON db.database_id = us.database_id
/* IF you want to exclude offlinbe Dbs in your output
then remove the comment '--AND STATE != 6' below.
*/
WHERE db.database_id > 4 --AND STATE != 6
GROUP BY DB_NAME(db.database_id), db.state_desc
ORDER BY DB_NAME(db.database_id)
相關問題
- 1. Heroku數據庫備份存儲當數據庫不活動
- 2. Azure數據庫活動集
- 3. 活動數據庫設計
- 4. 活動從數據庫
- 5. 數據庫設計。用戶訂閱,活動/不活動?
- 6. 從數據庫的活動中看不到數據
- 7. 沒有數據庫的活動記錄
- 8. 跨多個活動的Android數據庫
- 9. 數據庫表中每行的活動
- 10. 更改在Django的活動數據庫
- 11. 我的活動不能與我的數據庫連接
- 12. 即時編輯活動數據庫
- 13. Azure SQL數據庫「活動監視器」
- 14. 數據庫設計 - 朋友活動
- 15. 在android活動中使用數據庫
- 16. 如何正常化活動數據庫
- 17. php限制活動數據庫條目
- 18. 關聯活動與數據庫ID
- 19. 活動生命週期和數據庫
- 20. 郵箱數據庫自動激活
- 21. 笨活動記錄數據庫查詢
- 22. 活動流數據庫設計laravel
- 23. 管理網站「活動」數據庫
- 24. 從一個活動(數據庫)轉移到另一個活動
- 25. EF drop一些不活動後的數據庫
- 26. 在數據庫中找不到活動記錄類「」的表「」
- 27. codeigniter使用實用工具與不活動的數據庫
- 28. 如何不搜索數據庫中的活動記錄
- 29. MySQL和PHP datetime在數據庫中的數據不保持活動狀態
- 30. 數據庫:相同或單獨表中的活動數據和非活動數據
+1 - 值得一看就這個題目阿龍貝特朗的博客文章:http://sqlblog.com/blogs/aaron_bertrand/archive/2008/05/06/when-was-my-database- table-last-accessible.aspx – AdaTheDev 2010-02-03 17:39:24
你應該把鏈接放在Aaron的帖子上作爲答案 - 我會說這是最好的海報會得到。 – Andrew 2010-02-03 17:42:16