CloudDB

13 de nov de 20192 min

SQL Server - Confere a Falta de Backups por Banco de Dados

Você garante que tem todos os backups em dia? De todos os Bancos de Dados? Você pode vulnerável e sua empresa também, sendo assim segue o quinta script da mentoria:
 

 
Autoridade_SQL_Server_Confere_Falta_de_Backups_por_Bancos_de_Dados é um script que deve ser executado para exibir todos os backups ausentes, de acordo com a política de backup. Se ele retornar registros com datas antigas de backup ou retornar nulo você pode não ter esse backup e você pode utilizar o script de backup para resolver facilmente.

@@ -0,0 +1,46 @@
 
-- Confere Backups SQL Server (Database FULL, Diferencial e Log se o recovery model estiver como full) -- De www.clouddbm.com Opensource Copywrited by Gilberto Rosa (gilberto.rosa@clouddbm.com) -- Script executado em mais de 10 mil Bancos de Dados, valide seu ambiente e tenha backup
 

 
select @@servername cod_servidor, a.name,backup_date, 'FULL' tip_evento, GETDATE() dth_atualiza from master.dbo.sysdatabases a (nolock)
 
left join (select database_name,max(backup_finish_date) backup_date from msdb.dbo.backupset (nolock) where type in ('D') group by database_name) b on a.name = b.database_name where a.name not in ('Northwind','pubs','tempdb') --and backup_date is null AND backup_date <= getdate()-1 OR backup_date IS NULL AND a.name not in ('Northwind','pubs','tempdb') UNION select @@servername cod_servidor, a.name,backup_date, 'DIFF' tip_evento, GETDATE() dth_atualiza from master.dbo.sysdatabases a (nolock)
 
left join (select database_name,max(backup_finish_date) backup_date from msdb.dbo.backupset (nolock) where type in ('I') group by database_name) b on a.name = b.database_name where rtrim (lower (a.name)) not in ('Northwind','pubs','tempdb','master','model','msdb') --and backup_date is null AND backup_date <= getdate()-1 OR backup_date IS NULL AND name not in ('Northwind','pubs','tempdb','master','model','msdb') UNION select @@servername cod_servidor, a.name,backup_date, 'LOG' tip_evento, GETDATE() dth_atualiza from master.dbo.sysdatabases a (nolock)
 
left join (select database_name,max(backup_finish_date) backup_date from msdb.dbo.backupset (nolock) where type in ('L') group by database_name) b on a.name = b.database_name where name not in ('Northwind','pubs','tempdb','model') AND databasepropertyex(name, 'Recovery') = 'FULL' --and backup_date is null AND backup_date <= getdate()-1 OR backup_date IS NULL AND name not in ('Northwind','pubs','tempdb','model') AND databasepropertyex(name, 'Recovery') = 'FULL'

    540
    0