Bardzo często zdarza się, że na szybko utworzymy bazę czy bazy danych a całkowicie zapominamy o tym by wykonać odpowiedni backup. Poniżej skrypt zwracający listę baz bez wykonanych backupów.
-- list databases without any backup
SELECT
CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server,
master.sys.sysdatabases.NAME AS database_name,
NULL AS [Last Data Backup Date]
FROM
master.sys.sysdatabases
LEFT JOIN msdb.dbo.backupset
ON master.sys.sysdatabases.name = msdb.dbo.backupset.database_name
WHERE
msdb.dbo.backupset.database_name IS NULL
AND master.sys.sysdatabases.name <> 'tempdb'
ORDER BY
msdb.dbo.backupset.database_name
Dodatkowy skrypt, który można np. umieścić jako krok w jobie. Jeśli na liście będą jakiekolwiek bazy bez backupu wygeneruje się błąd.
--JOB ALERT list databases without any backup
IF EXISTS(
SELECT 1
FROM
master.sys.sysdatabases
LEFT JOIN msdb.dbo.backupset
ON master.sys.sysdatabases.name = msdb.dbo.backupset.database_name
WHERE
msdb.dbo.backupset.database_name IS NULL
AND master.sys.sysdatabases.name <> 'tempdb'
) THROW 51000, 'Backup(s) - Databases without any backup in history', 16 else print 'OK'