go backarticles

Articles of SQLschool.gr Team

Μήπως έχετε ξεχάσει κάποια database να την πάρετε backup;

Antonios Chatzipavlis

Είστε σίγουροι ότι έχετε πάρει έστω και μια φορά όλες τις databases σας backup;

Ειδικά εσείς αγαπητοί συνάδελφοι που έχετε πολλές databases είστε σίγουροι;

Η απάντηση στο ερώτημα αυτό είναι η παρακάτω stored procedure η οποία θα σας επιστρέψει αμέσως όλες τις database που έχετε ξεχάσει να πάρετε backup.

create proc dbo.spUnbackupedDbs
@backup_type char(1)='D',
@time_span_days int=5
as
-- Created by Antonios Chatzipavlis
--
-- This stored procedure returns all databases in a server
-- ( except model and tempdb ) at which I have not take any backup
-- for a specific days from the current day
--
-- Parameters
--
-- @backup_type : defines the backup type
-- VALID VALUES
-- 'D' : Full Backup (DEFAULT VALUE)
-- 'I' : Diffential
-- 'L' : Transaction Log
-- 'F' : File or Filegroup
-- 'G' : File Diffential
-- 'P' : Partial
-- 'Q' : Partial Differential
--
-- @time_span_days : defines the amount of days ( DEFAULT VALUE is 5 DAYS )

select
a.[name] as database_name
from master.dbo.sysdatabases a
left join msdb.dbo.backupset b on a.[name] = b.database_name
and
datediff(day,b.backup_finish_date,getdate())<@time_span_days
and
b.type=@backup_type
where a.[name] not in ('model','tempdb')
and b.database_name is null
go

Δημιουργήστε πρώτα την stored procedure τρέχοντας το παραπάνω script και εφόσον όλα πάνε καλά εκτελέστε την όπως παρακάτω

exec spUnbackupedDbs

Relative Articles

Leave your comment

Login with your SQLschool.gr account if you want to comment on this article.