Zálohování pomocí událostí databáze

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

Důrazně doporučujeme provádět automatické zálohování databáze.

 

Jeden ze způsobů provádění záloh

 

Automatické zálohování databáze lze provádět pomocí událostí databáze (events).

Jakmile se provede následující SQL příkaz, bude se provádět zálohování databáze každou noc v 01:00 do adresáře C:\zalohy:

CREATE EVENT daily_backup

SCHEDULE

START TIME '01:00:00' EVERY 24 HOURS

HANDLER

BEGIN

 BACKUP DATABASE DIRECTORY 'C:\\zalohy'

END

 

nebo zálohování pouze ve všední dny ve 23:00, a to pouze hlavní databázový soubor:

CREATE EVENT daily_backup

SCHEDULE

START TIME '23:00:00' EVERY 24 HOURS ON ('Mon','Tue','Wed','Thu','Fri')

HANDLER

BEGIN

 BACKUP DATABASE DIRECTORY 'C:\\zalohy' DBFILE ONLY

END

 

TIP: Doporučuje se vázat vytvoření zálohy se jménem databáze. Zabrání se tím nechtěnému přepisu zálohy v případě, že je databáze zkopírována a použita na stejném serveru (např. pro zkušební účely):

CREATE EVENT daily_backup

SCHEDULE

START TIME '01:00:00' EVERY 24 HOURS

HANDLER

BEGIN

 IF DB_PROPERTY('name')='HLAVNI' THEN

   BACKUP DATABASE DIRECTORY 'C:\\zalohy'

 END IF

END

 

Událost lze zrušit příkazem:

DROP EVENT daily_backup

 

Pozastavit/změnit lze událost příkazem:

ALTER EVENT ...

 

Seznam událostí a jejich stav lze zjistit tímto SQL dotazem:

SELECT * FROM SYS.SYSEVENT

 

Bližší info viz nápověda Sybase ASA (hesla create event, alter event, drop event)

 

A. Cesty musí být platné vůči serveru a musí existovat
 
B. V menu Vision ERP existuje funkce pro export všech událostí databáze do SQL skriptu, např. za účelem přenesení do jiné databáze

 

Související témata