Pre zálohovanie databáz je vhodné používať
Záloha na kliknutie
Aby bolo zálohovanie databáz čo najjednoduchšie, môžete vyvolať proces zálohy do súboru spustením dávkového BAT súboru, ktorý vyvolá štandardnú zálohu databáze MSSQL podľa nastavených parametrov. Nižšie nájdete vzor pre vytváranie záloh s časovou pečiatkou k okamihu spustenia (s každým spustením pribudne v cieľovom adresári nový súbor).
SQL príkaz k vytvoreniu záloh
SET NOCOUNT ON DECLARE @Time nvarchar(19), @Path nvarchar(400), @NameMain nvarchar(100), @NameFile nvarchar(100), @PathMain nvarchar(1000), @PathFile nvarchar(1000)
--upraviť cestu podľa skutočnej cesty cieľa zálohy na serveri
SET @Path = '#CESTA_K_CILOVEMU_ADRESARI#'
--'C:\backup', musí existovať --možno zmeniť východzie názvy DB podľa skutočnosti
SET @NameMain = 'ISENVITA'
SET @NameFile = 'ISENVITA_Files'
--ziskanie časovej pečiatky
SET @Time = REPLACE(REPLACE(CONVERT(nvarchar(19), GETDATE(), 120),':','-'),' ','_')
--zostavenie cesty k záložnému súboru
SET @PathMain = @Path+'\'+@NameMain+'_'+@Time+'.bak'
SET @PathFile = @Path+'\'+@NameFile+'_'+@Time+'.bak'
--vytvorenie zálohy print '==================='
print @Time
print 'START backup: '+@PathMain
BACKUP DATABASE @NameMain TO DISK = @PathMain WITH INIT
print 'START backup: '+@PathFile
BACKUP DATABASE @NameFile TO DISK = @PathFile WITH INIT
Dávkový súbor .BAT pre spustenie SQL skriptu
Vzory k stiahnutiu:
V tomto archíve nájdete oba vzorové súbory: zalohovaciSQLaBAT.zip. Pred spustením je potrebné upraviť oba súbory podľa vášho serveru (cesty, názvy).
Tipy
Presunutie hotových záloh
Rozšírte dávkový súbor BAT o príkaz xcopy tak, že obsah adresára so záložnými súbormi sa prenesie tiež do iného sieťového umiestnenia, mimo databázový server (napr NAS).
Automatické spustenie zálohy
Využite systémový plánovač úloh k vytvoreniu automatického spustenia denných záloh. Akciou danej úlohy bude spustenie pripraveného BAT súboru.
Oficiálna dokumentácia
- Utilita Sqlcmd.exe: https://docs.microsoft.com/en-us/sql/ssms/scripting/sqlcmd-use-the-utility
- Možnosti príkazu BACKUP DATABASE: https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/create-a-full-database-backup-sql-server