Sql-Server

獲取日期範圍內未修改的數據庫列表 - SQL server

  • October 5, 2018

我們能否在伺服器中獲得過去兩個月未修改的數據庫列表的輸出,並且基於此我們必須刪除所有這些數據庫。

我嘗試過以下查詢:–確定上次訪問使用者數據庫的時間–

SELECT DatabaseName
     ,MAX(LastAccessDate) DatabaseLastAccessedOn
FROM    (
          SELECT  DB_NAME(database_id) DatabaseName
                ,last_user_seek
                ,last_user_scan
                ,last_user_lookup
                ,last_user_update
                  FROM sys.dm_db_index_usage_stats
      ) AS Pvt
      UNPIVOT
       (
          LastAccessDate FOR last_user_access IN  (
              last_user_seek  
             ,last_user_scan  
             ,last_user_lookup  
             ,last_user_update
          )  
      ) AS Unpvt
GROUP BY
      DatabaseName
HAVING DatabaseName NOT IN ('master' ,'tempdb' ,'model' ,'msdb')
ORDER BY
      2

需要查詢以查找過去 2 個月未訪問/修改的數據庫並將其刪除。我有 SQL Express 版。

我們能否在伺服器中獲得過去兩個月未修改的數據庫列表的輸出,並且基於此我們必須刪除所有這些數據庫。

無論您在網際網路上發現什麼,100% 確定的唯一方法是執行審計/跟踪/等。針對伺服器並檢查每個數據庫正在接收的流量,因為某些系統程序將更新數據庫並且需要在繼續之前過濾掉(審計/跟踪/等應該能夠自行過濾)。

可能的選項:

如果您不需要絕對 100% 確定,那麼可以隨意選擇 Internet 上的任何其他方法,例如索引使用 DMV、緩衝池中的頁面、上次訪問日期等。

引用自:https://dba.stackexchange.com/questions/219329