SELECT ROW_NUMBER() OVER(ORDER BY d.name ASC) AS rownum, d.name, MAX(b.backup_finish_date)
FROM master.sys.databases d
LEFT OUTER JOIN msdb.dbo.backupset b
ON d.name COLLATE SQL_Latin1_General_CP1_CI_AS = b.database_name COLLATE SQL_Latin1_General_CP1_CI_AS
AND b.type = 'D'
AND b.server_name = SERVERPROPERTY('ServerName') /*Backupset ran on current server */
LEFT OUTER JOIN msdb.dbo.backupmediafamily f
ON f.media_set_id = b.media_set_id
AND b.is_copy_only = 0 -- to avoid VM snapshots
WHERE d.database_id > 4 AND d.name NOT IN ('Dbatools', 'ReportServerTempDB', 'DWConfiguration', 'DWDiagnostics', 'DWQueue')
AND d.state NOT IN ( 1, 6, 10 ) /* Not currently offline or restoring, like log shipping databases */
AND d.is_in_standby = 0 /* Not a log shipping target database */
AND d.source_database_id IS NULL /* Excludes database snapshots */
AND D.state_desc = 'ONLINE'
GROUP BY d.name
HAVING MAX(b.backup_finish_date) <= DATEADD(dd, -7, GETDATE())
OR MAX(b.backup_finish_date) IS NULL
FROM master.sys.databases d
AND b.server_name = SERVERPROPERTY('ServerName') /*Backupset ran on current server */
LEFT OUTER JOIN msdb.dbo.backupmediafamily f
WHERE d.database_id > 4 AND d.name NOT IN ('Dbatools', 'ReportServerTempDB', 'DWConfiguration', 'DWDiagnostics', 'DWQueue')
AND d.state NOT IN ( 1, 6, 10 ) /* Not currently offline or restoring, like log shipping databases */
AND d.is_in_standby = 0 /* Not a log shipping target database */
AND d.source_database_id IS NULL /* Excludes database snapshots */
AND D.state_desc = 'ONLINE'
GROUP BY d.name
HAVING MAX(b.backup_finish_date) <= DATEADD(dd, -7, GETDATE())
OR MAX(b.backup_finish_date) IS NULL
Comments
Post a Comment