go backsqlschool blogs list

Script for Full database backup in separate device per day

by Antonios Chatzipavlis

Πριν από λίγο ένας συνεργάτης μου, που έχει πολλούς πελάτες με ERP που είναι σε SQL Server μου ζήτησε να παίρνει backup σε ημερήσια εβδομαδιαία βάση αυτοματοποιημένα. Δηλαδή ένα backup για κάθε database (full βεβαια) κάθε μέρα της εβδομάδας, και την επόμενη εβδομάδα να γράφει πάνω στο προηγούμενο της αντίστοιχης ημέρας.

Η λύση είναι απλή

Πάμε και φτιάχνουμε ένα job στον SQL Server Agent, και σε αυτό, στο ένα και μοναδικό step βάζουμε το παρακάτω script:

 

  1. declare @weekday char(3)
  2. declare @dbname varchar(50)
  3. declare @backupPath varchar(1024)
  4. declare @backupFileName varchar(128)
  5. declare @command varchar(2048)
  6. set @dbname ='<Enter yours db name>'
  7. set @backupPath ='<Enter your backup path location with \ at the end>'
  8. set @backupFileName='<Enter the backup filename without extention>'
  9. select @weekday=upper(left(datename(dw,getdate()),3))
  10. set @command = 'backup database ' + @dbname + ' to disk=''' + @backupPath +'\' +upper(@backupFileName)+'_'+@weekday+'.bak' + ''' with init'
  11. exec (@command)

Αλλάζουμε τις τιμές στις μεταβλητές @dbname, @backuPath, @backupFileName, με αυτές που θέλουμε και προγραμματίζουμε το job αυτό να τρέχει κάθε μέρα στην ώρα που θέλουμε.

Με αυτή την υλοποίηση έχουμε καθημερινό backup για την κάθε ημέρα της εβδομάδας σε ξεχωριστά αν ήμερα devices.

Καλά database backup!

Ημερομηνία: 20 July 2009 20:37
Αξιολόγηση:
Tags:
Share it:

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS