Μήπως έχετε ξεχάσει κάποια database να την πάρετε backup;
Είστε σίγουροι ότι έχετε πάρει έστω και μια φορά όλες τις 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()) and
b.type=@backup_type
where a.[name] not in ('model','tempdb')
and b.database_name is null
go
Δημιουργήστε πρώτα την stored procedure τρέχοντας το παραπάνω script και εφόσον όλα πάνε καλά εκτελέστε την όπως παρακάτω
exec spUnbackupedDbs
3 Comments
Recommended Comments