SQLServer: when was the DB last used
SELECT UNPVT.[DataBase],
MaxLastUse = MAX(UNPVT.MaxLastUse)
INTO #tempdatabases
FROM
(
SELECT [DataBase],
last_user_seek,
last_user_scan,
last_user_lookup,
last_user_update
FROM
(
SELECT [DataBase] = DB.[name],
last_user_seek = MAX(IU.last_user_seek),
last_user_scan = MAX(IU.last_user_scan),
last_user_lookup = MAX(IU.last_user_lookup),
last_user_update = MAX(IU.last_user_update)
FROM sys.databases AS DB
INNER JOIN sys.dm_db_index_usage_stats AS IU ON IU.database_id = DB.database_id
GROUP BY DB.[name]
) AS DBIU
) AS P UNPIVOT(MaxLastUse FOR ColumnName IN(last_user_seek,
last_user_scan,
last_user_lookup,
last_user_update)) AS UNPVT
GROUP BY UNPVT.[DataBase]
HAVING MAX(UNPVT.MaxLastUse) IS NOT NULL
ORDER BY MAX(UNPVT.MaxLastUse) ASC;
SELECT name,
create_date AS 'Created on',
'Not used since last instance start',
(
SELECT create_date
FROM sys.databases
WHERE database_id = 2
) AS 'Instance start date'
FROM sys.databases
WHERE database_id NOT IN(1, 2, 3, 4)
AND name NOT IN
(
SELECT [DataBase]
FROM #tempdatabases
);
DROP TABLE #tempdatabases;
Comments
Post a Comment