Αυτόματη Διαδικασία Λήψης Αντιγράφων Ασφαλείας σε SQL Express

 

Η Express Έκδοση του SQL Server (2005,2008,2012) δεν περιέχει agent για να μπορεί να εκτελείται αυτόματα μια διαδικασία δημιουργίας αντιγράφων ασφαλείας. Με τον παρακάτω τρόπο, μπορείτε να αυτοματοποιήσετε την διαδικασία δημιουργίας αντιγράφων ασφαλείας στον SQL Server Express, διατηρώντας τον επιθυμητό αριθμό πιο πρόσφατων (ημερολογιακά) αρχείων.

  1. Ανοίγετε το σημειωματάριο των windows ή ένα νέο query στο Management Studio και αντιγράφετε τα παρακάτω:

    declare @daystoholdbackup int
    declare @databasename varchar(100)
    declare @name varchar(300)
    declare @backupdbfolder varchar(300)
    declare @date varchar(30)
    declare @deletedate varchar(10)
    declare @dbsetname varchar(100)

    set @daystoholdbackup = 4 -- Αριθμός ημερών πιο πρόσφατων αντιγράφων ασφαλείας
    set @databasename = 'ArgusDatabaseName' -- Όνομα βάσης δεδομένων
    set @backupdbfolder = 'D:\ArgusDBBackupFolder\' -- Φάκελος αποθήκευσης αντιγράφων ασφαλείας 

    set @deletedate = convert(varchar,getdate()- @daystoholdbackup,126)
    set @date = convert(varchar,getdate(),121)
    set @name = @backupdbfolder + @databasename + '_' + replace(convert(varchar,@date,121),':','.') + '.bak'
    set @dbsetname = @databasename + ' - Full Database Backup'

    --Backup της βάσης δεδομένων στην προσδιορισμένη διαδρομή
    BACKUP DATABASE @databasename TO  DISK = @name WITH NOFORMAT, INIT,  NAME = @dbsetname, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

    --Διαγραφή των αντιγράφων ασφαλείας, παλαιότερων των ημερών που έχουν ορισθεί
    EXECUTE master.dbo.xp_delete_file 0,@backupdbfolder,N'bak',@deletedate,1

    ή εναλλακτικά, κατεβάζετε το αρχείο από εδώ.

  2. Αλλάζετε τις τιμές με την έντονη γραφή στις επιθυμητές:

    @daystoholdbackup  - Ο αριθμός πιο πρόσφατων αντιγράφων ασφαλείας που θα διατηρούνται στον φάκελο. Τα παλιότερα θα διαγράφονται.

    @databasename  - Το όνομα της βάσης δεδομένων

    @backupdbfolder  - Η πλήρης διαδρομή του φακέλου, που πρέπει να υπάρχει στον server και στον οποίο θα αποθηκεύονται τα αντίγραφα ασφαλείας.

    και αποθηκεύετε το αρχείο με ένα όνομα (π.χ. ArgusBackup.sql) σε έναν φάκελο (π.χ. C:\ArgusScript)

  3. Δημιουργείτε μια νέα προγραμματισμένη εργασία (στο χρονοδιάγραμμα εργασιών των windows) η οποία θα εκτελείται καθημερινά και θα εκτελεί το πρόγραμμα "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" με ορίσματα -S sqlservername -E -i "C:\ArgusScript\ArgusBackup.sql"
  4. "C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S sqlservername -E -i "C:\ArgusScript\ArgusBackup.sql"

     

An error has occurred. This application may no longer respond until reloaded. Reload 🗙