Zálohování a obnovení zálohy databáze

Hlavní stránka / Podpora / Příručky / Příručka administrátora / Zálohování /

Zálohování a obnovení zálohy databáze

1. Zálohování databáze

  • Pro zálohování databáze je určen program „SqlBackup.exe“. Nachází se v adresáři „Backup“ každé instalace NET Genia. Program podporuje zálohování databází MSSQL i Firebird.
  • Databázi je obecně možné zálohovat celou nebo přírůstkově, program „SqlBackup.exe“ však podporuje pouze vytváření plných záloh databáze.
  • Program „SqlBackup.exe“ lze spustit pouze na počítači, na kterém běží databázový server a na kterém je databáze fyzicky umístěna.

Použití:

SqlBackup.exe [zdroj] [cíl]
  • Parametr zdroj určuje název databáze (v případě databáze MSSQL) nebo plnou cestu k databázovému souboru na disku (v případě databáze Firebird).
  • Parametr cíl určuje název souboru nebo jeho plnou cestu na disku, do kterého bude záloha uložena. Název souboru může obsahovat proměnné #year#, #month#, #day#, #dayofweek#, #dayofyear# a #week#.

Příklad:

SqlBackup.exe netgenium netgenium-#dayofweek#
  • Použití proměnných v názvu souboru je výhodné nejen pro identifikaci zálohované databáze, ale také pro řízení počtu uchovávaných záloh. Program „SqlBackup.exe“ přepisuje soubory se stejným názvem, a proto lze například pomocí proměnné #dayofweek# udržovat týdenní sadu záloh (soubory netgenium-1 až netgenium-7). Při vytvoření nové zálohy se starší soubor se stejným názvem automaticky přepíše.
  • Pokud není parametr cíl uveden (je zadán pouze název databáze nebo její plná cesta), bude název zálohy vytvořen ve formátu „yyyy-mm-dd-název_databáze“ a soubor se zálohou bude uložen do adresáře, ze kterého je program „SqlBackup.exe“ spuštěn.
  • Při zálohování databáze MSSQL lze použít nepovinný parametr „/backuplog“, kterým se provede také záloha transakčního logu databáze. Záloha logu je uložena do samostatného souboru s názvem ve formátu „název_zálohy_databáze-log.bak“ a do stejného umístění jako záloha databáze.
  • Po úspěšném provedení zálohy je do databázové tabulky „ng_sluzbawindows“ automaticky zalogována služba s názvem „SqlBackup“ s intervalem nastaveným na 1 den.

Při spuštění programu „SqlBackup.exe“ bez parametrů nabídne program několik voleb v závislosti na požadované činnosti:

  • Volba B slouží k provedení zálohy databáze. Je třeba mít na paměti, že práce s databázemi MSSQL a Firebird se liší. Databáze MSSQL je identifikována názvem databáze a instancí MSSQL serveru, zatímco databáze Firebird je identifikována přímou fyzickou cestou k databázovému souboru. Záloha databáze MSSQL má příponu „.bak“, záloha databáze Firebird má příponu „.fbk“.
  • Při volbě B program „SqlBackup.exe“ vyhledá všechny dostupné databáze:
    • ve výchozích instancích MSSQL serveru (local) a (local)\SQLEXPRESS,
    • v dalších instancích MSSQL serveru nalezených v registrech systému,
    • v adresářích „E:\Firebird“, „D:\Firebird“ a „C:\Firebird“,
    • a následně nabídne uživateli výběr databáze, která má být zálohována.
  • Při spuštění programu lze použít také nepovinný parametr –S, kterým lze explicitně určit instanci MSSQL serveru. Tento parametr je vhodné použít v případě, že se požadovaná instance nenajde automaticky (například pokud nemá záznam v registrech nebo používá nestandardní název).

Příklad:

SqlBackup.exe –S(local)\SQLEXPRESS
  • Volby BTHIS nebo BT slouží k zálohování databáze, která je uvedena v souboru „ConnectionString.txt“ umístěném v adresáři „Config“.

1.1. Naplánování zálohy databáze

  • Program „SqlBackup.exe“ je konzolová aplikace, a proto jej lze spouštět pomocí dávkového souboru. Tento dávkový soubor může být následně automaticky spouštěn pomocí Plánovače úloh systému Windows.
  • Dávkový soubor musí používat plné cesty na disku jak k programu „SqlBackup.exe“, tak k cílovému souboru se zálohou. Pokud není cílový soubor uveden s plnou cestou, bude záloha uložena do adresáře „C:\Windows\System32“.

1.2. Dávkový soubor

  • Pro naplánování zálohy databáze vytvořte například dávkový soubor „BackupDatabase.bat“ a uložte jej do adresáře s instalací NET Genia.

Týdenní záloha (7 záloh nazpět) - MSSQL

C:\inetpub\wwwroot\NETGenium\Backup\SqlBackup.exe netgenium C:\inetpub\wwwroot\NETGenium\Backup\netgenium-#dayofweek#
 

Týdenní záloha (7 záloh nazpět) - Firebird

C:\inetpub\wwwroot\NETGenium\Backup\SqlBackup.exe C:\Firebird\netgenium.fdb C:\inetpub\wwwroot\NETGenium\Backup\netgenium-#dayofweek#
 

Měsíční záloha (31 záloh nazpět) - MSSQL

C:\inetpub\wwwroot\NETGenium\Backup\SqlBackup.exe netgenium C:\inetpub\wwwroot\NETGenium\Backup\netgenium-#day#
 

Měsíční záloha (31 záloh nazpět) - Firebird

C:\inetpub\wwwroot\NETGenium\Backup\SqlBackup.exe C:\Firebird\netgenium.fdb C:\inetpub\wwwroot\NETGenium\Backup\netgenium-#day#
 

Roční záloha (365 záloh nazpět) - MSSQL

C:\inetpub\wwwroot\NETGenium\Backup\SqlBackup.exe netgenium C:\inetpub\wwwroot\NETGenium\Backup\netgenium-#month#-#day#
 

Roční záloha (365 záloh nazpět) - Firebird

C:\inetpub\wwwroot\NETGenium\Backup\SqlBackup.exe C:\Firebird\netgenium.fdb C:\inetpub\wwwroot\NETGenium\Backup\netgenium-#month#-#day#

1.3. Naplánovaná úloha

  • Otevřete Plánovač úloh.
  • Klikněte na „Vytvořit úlohu...“.
  • Na kartě „Obecné“ zadejte název úlohy a nastavte uživatelský účet, pod kterým bude úloha spouštěna. Důležitým nastavením je zaškrtnutí volby „Spustit s nejvyššími oprávněními“, aby mohla být záloha úspěšně provedena.
  • Na kartě „Aktivační události“ kliknutím na tlačítko „Nová“ nastavte čas a frekvenci automatického spouštění zálohování.
  • Na kartě „Akce“ kliknutím na tlačítko „Nová“ nastavte spuštění dávkového souboru „BackupDatabase.bat“.

2. Obnovení zálohy databáze

  • Pro obnovení databáze spusťte program „SqlBackup.exe“ a zvolte volbu R, která slouží k obnovení databáze ze zálohy (restore).
  • Program „SqlBackup.exe“ vyhledá všechny dostupné zálohy v adresáři, ze kterého je spuštěn, a nabídne uživateli výběr zálohy, ze které má být obnova provedena. Při obnovení databáze do existující databáze dojde k jejímu přepsání.
  • Po výběru zálohy budete vyzváni k zadání názvu databáze, do které má být záloha obnovena.
  • Z bezpečnostních důvodů budete následně vyzváni k potvrzení zadaného názvu obnovené databáze.
  • Na závěr procesu obnovy budete dotázáni, zda má být databáze obnovena do výchozího (defaultního) adresáře databázového serveru MSSQL nebo Firebird.