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.