MS SQL Express jsou verze SQL, které jsou dostupné zdarma, ale neobsahují nástroj Maintenance Plans pro automatizaci nočních záloh databází. Tento nástroj je součástí pouze verzí Workgroup, Standard a Enterprise. Automatické noční zálohy se v SQL Express dají řešit pomocí nástroje příkazové řádky osql.exe. Následující dávka funguje pro SQL Express ve verzi 2005, 2008, 2008R2 a 2012. Vytvoří se jednoduchý bat soubor (např. zaloha.bat), který bude mít následující obsah:
cd c:\Program Files\Microsoft SQL Server\100*\Tools\Binn\ - * nutno upravit!
osql -S server -U sa -P -Q "BACKUP DATABASE [BW_DEMO] TO DISK = N'C:\Zaloha\bw_demo.bak' WITH INIT,NOUNLOAD,NAME = N'BW_DEMO backup',NOSKIP ,STATS = 10,NOFORMAT"
Vysvětlivky:
*- pro SQL 2005 zadejte 90, pro SQL 2008 i 2008R2 zadejte 100 a pro SQL 2012 zadejte 110
osql – příkazový řádek pro SQL
-S – jméno SQL serveru; pokud je SQL v pojmenované instanci, zadejte plný název ve tvaru "SQL\INSTANCE"
-U – uživatel SQL (např. sa), mající právo zálohovat na SQL Serveru
-P – heslo uživatele SQL
-Q – query (samotný příkaz v transact SQL)
V query je nutné změnit název databáze a umístění souboru zálohy.
Po odzkoušení funkčnosti souboru zaloha.bat, je potřeba ho přidat do naplánovaných úloh systému Windows.
Pozor - tato dávka přepisuje cílový soubor zálohy při každém spuštění!
V případě potřeby je nutné vytvořit více naplánovaných úloh a také těchto dávek s různými jmény záloh nebo před každým spuštěním naplánované úlohy provést odkopírování souboru zálohy do jiného umístění - ideálně na jiné zařízení v síti.
Pokud chceme zálohovat více databází je potřeba zkopírovat řádek začínající “osql” a opravit ho pro další databázi.