Como Detectar a Ausência de Backups no SQL Server


Uma das responsabilidades mais críticas de um DBA é garantir que todos os bancos de dados estejam sendo devidamente respaldados com seus respectivos backups. No entanto, em ambientes com muitos bancos (como ambientes de desenvolvimento, homologação ou clientes distintos), é comum que alguns acabem ficando sem backups por engano.
Neste post, você vai aprender como identificar rapidamente quais bancos estão sem backup recente — de forma prática, utilizando apenas T-SQL.
🎯 O Problema
Você tem 20, 30, 50 bancos na instância. Alguns são recém-criados, outros restaurados de um .bak
e ainda sem plano de backup agendado. Como garantir que todos estejam protegidos?
A resposta está nas DMVs do SQL Server.
🔍 Query para Identificar Bancos Sem Backup
SELECT
d.name AS Banco,
d.recovery_model_desc AS RecoveryModel,
ISNULL(CONVERT(VARCHAR, bs.backup_finish_date, 120), 'NUNCA') AS UltimoBackup,
DATEDIFF(DAY, ISNULL(bs.backup_finish_date, '19000101'), GETDATE()) AS DiasSemBackup
FROM sys.databases d
LEFT JOIN (
SELECT database_name, MAX(backup_finish_date) AS backup_finish_date
FROM msdb.dbo.backupset
WHERE type = 'D' -- D = Full Backup
GROUP BY database_name
) bs ON d.name = bs.database_name
WHERE d.database_id > 4 -- ignora bancos de sistema
ORDER BY DiasSemBackup DESC
📌 O que essa query mostra?
Nome dos bancos de dados
Modelo de recuperação (Recovery Model)
Data do último backup full (ou "NUNCA" se nunca foi feito)
Quantidade de dias desde o último backup
⚠️ Como usar isso na prática?
Crie um job diário que execute essa consulta e envie alertas por e-mail
Combine com verificações de backup de log e diferencial, se aplicável
Mantenha uma política clara para cada tipo de banco (produção, dev, teste)
💡 Dicas adicionais
Use essa verificação antes de operações de manutenção.
Analise bancos com backup muito antigo: eles ainda estão em uso?
Automatize alertas via SQL Agent ou PowerShell.
Não basta ter scripts de backup rodando — é preciso garantir que todos os bancos tenham backups recentes e que nada está sendo deixado para trás.
Esse simples diagnóstico pode evitar perdas catastróficas de dados.
Fui, mas volto com mais SQL Server em breve!
✍️ Sobre o autor
O Prof. Landry é especialista em Microsoft SQL Server desde 1999, Microsoft Trainer, Professor Universitário e criador do canal SQL Server Expert no YouTube, com conteúdo técnico semanal para DBAs e profissionais de dados.
🚀 Quer aprender mais sobre SQL Server?
👉 Me acompanhe no LinkedIn e inscreva-se no canal para não perder nenhuma dica prática!
Subscribe to my newsletter
Read articles from SQL Server Expert directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

SQL Server Expert
SQL Server Expert
O Prof. Landry Duailibe é especialista em Microsoft SQL Server desde 1999, Microsoft Certified Trainer, professor universitário e criador do canal SQL Server Expert no YouTube, onde compartilha conteúdo técnico semanal para DBAs e profissionais de dados. Já ajudou milhares de alunos a evoluírem suas habilidades com SQL Server e conquistarem melhores oportunidades na área de dados.