m@rc-lenzin

Wenn etwas schief geht, dann freu dich. Das sind die Geschichten die dir in Erinnerung bleiben werden

MSSQL – Create Check Last Backup Mail

use msdb
go
exec sp_send_dbmail
	@profile_name='DefaultMail',
	@recipients='your@email.ch',
	@subject='Database Backup Info',
	@body='Database Backup Info',
	@query='
set nocount on
go
select  cast(SERVERPROPERTY(''Edition'') as char(30)) AS Edition,
		cast(c.DATABASENAME as char(20)) as DATABASENAME,
		cast(c.rmd as char(10)) as RECOVERY_MODEL, 
        cast(isnull(cast(ABS(DATEDIFF(HOUR,c.backup_start_date,getdate()))   as varchar)+'' Hour(s) ago'',''!!! NEVER !!!'') as char(18))  as Full_Bkp, 
        cast(case c.rmd 
			when ''SIMPLE''		then ''is in simple recovery mode''
			when ''BULK_LOGGED''	then ''is in bulk recovery mode''
								else isnull(cast(ABS(DATEDIFF(MINUTE,d.backup_start_date,getdate())) as varchar)+'' Minute(s) ago'',''!!! NEVER !!!'')  
							end as char(18)) as Trn_Bkp
  from  (   select  a.name as DATABASENAME, 
                    b.backup_start_date,
                    a.recovery_model_desc as rmd
              from  sys.databases as a 
              left join (   select  max(backup_start_date) as backup_start_date, 
                                    database_name 
                            from    msdb.dbo.backupset 
                            where   type = ''D''
                            group   by database_name) as b 
              on    a.name = b.database_name 
         ) as c 
  left join (   select  max(backup_start_date) as backup_start_date, 
                        database_name 
                from    msdb.dbo.backupset 
                where   type = ''L''
                group   by database_name) as d 
  on    c.databasename = d.database_name 
  where lower(c.DATABASENAME) not in (''master'',''model'',''msdb'')		 -- Systen Databases 
  and   lower(c.DATABASENAME) not in (''tempdb'',''reportservertempdb'') -- Temporary Databases
go'

 

Weiter Beitrag

Zurück Beitrag

© 2025 m@rc-lenzin

Thema von Anders Norén