How to identify the last objects created or modified in all databases

The script provided below, shows every modified and created events in the last 7 days.


SELECT 'modify' as [Action], db_name() as db,name,modify_date,create_date
INTO #eachdb
FROM sys.objects
WHERE 0=1
declare @str varchar(8000)
set @str = 'USE [?]
INSERT INTO #eachdb
SELECT ''modify'' as [Action], db_name() as db,name,modify_date,create_date
FROM [?].sys.objects
WHERE type = ''P''AND
DATEDIFF(D,modify_date, GETDATE()) < 7
—-Change 7 to any other day value.
UNION ALL
SELECT ''create''as [Action],db_name() as db ,name,modify_date,create_date
FROM [?].sys.objects
WHERE –type = ''P''AND
DATEDIFF(D,create_date, GETDATE()) < 7
—-Change 7 to any other day value.
ORDER BY 3 DESC, 4 DESC
'
exec sp_MSforeachdb @str
Select *
from #eachdb
where db <> 'tempdb'
order by 3,4,5
drop table #eachdb

Leave a comment