Ako zálohovať databázy SQL na zdieľanie siete

Obsah:

Ako zálohovať databázy SQL na zdieľanie siete
Ako zálohovať databázy SQL na zdieľanie siete

Video: Ako zálohovať databázy SQL na zdieľanie siete

Video: Ako zálohovať databázy SQL na zdieľanie siete
Video: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. - YouTube 2024, November
Anonim

Je potrebné pravidelne zálohovať databázy SQL. Už sme pokryli spôsoby, ako ľahko zálohovať všetky vaše SQL serverové databázy na lokálny pevný disk, ale to neposkytuje ochranu pred poruchou disku a / alebo systému. Ako ďalšiu vrstvu ochrany pred týmto druhom katastrofy môžete kopírovať alebo priamo vytvárať zálohy na sieťovom zdieľaní.

Zálohovať lokálne a potom skopírovať do zdieľania siete

Preferovaným a najpriamejším spôsobom, ako túto úlohu splniť, je jednoducho vytvoriť lokálnu zálohu databázy a potom skopírovať príslušný záložný súbor do zdieľanej siete. Môžete to urobiť vytvorením dávkového skriptu, ktorý vyzerá takto:

SET LocalFolder=C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup SqlCmd -E -Q “Backup Database MyDB To Disk=’%LocalFolder%MyDB.bak'” XCopy “%LocalFolder%MyDB.bak” “192.168.16.55BackupDatabases” /Z /V DEL “%LocalFolder%MyDB.bak”

Tento skript robí nasledujúce (riadok po riadku):

  1. Nastaví premennú na lokálny adresár zálohovania SQL.
  2. Vytvorí zálohu SQL MyDB (pomocou systému Windows Authentication) do lokálneho adresára zálohovania SQL.

  3. Kopíruje lokálny záložný súbor na zdieľanú sieť.
  4. Odstráni súbor lokálnej zálohy.

Opäť je to preferovaná metóda, pretože funguje mimo krabice a pravdepodobnosť výpadku zálohy je minimálna od vytvorenia zálohy na lokálnom disku. Ak však nemáte dostatok miesta na uloženie miestnych kópií zálohovaných súborov, táto akcia zlyhá. V takom prípade budete musieť pridať ďalšie miesto na disku alebo zálohu priamo do zdieľanej siete.

Zálohovanie priamo na zdieľanie siete

Obvykle sa pokúsite vytvoriť zálohu priamo do zdieľanej siete pomocou príkazu, ako napríklad:

SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”

Budete pravdepodobne mať pravdepodobne chybu v podobe:

Msg 3201, Level 16, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 5(Access is denied.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

Táto chyba sa vyskytuje aj napriek tomu, že ste spustili príkaz na zálohovanie SQL pomocou funkcie Authentication systému Windows (prepínač -E) a účtu Windows ako možnosť prístupu a kopírovania súborov do zdieľanej zložky prostredníctvom programu Windows Explorer.

Image
Image

Dôvodom, prečo táto akcia zlyhá, je to, že príkaz SQL je vykonaný v medziach konta, na ktorom je spustená služba SQL Server ako. Pri zobrazení zoznamu služieb na vašom počítači s najväčšou pravdepodobnosťou uvidíte službu SQL Server spustenú ako (stĺpec Prihlásiť ako) buď lokálny systém alebo sieťová služba, ktoré sú systémové účty, ktoré nemajú prístup do siete.

V našom systéme zálohovanie príkazu sieťového zdieľania zlyhá, pretože máme službu SQL Server spustenú ako lokálny systém, ktorý sa znova nedokáže dostať k žiadnym sieťovým zdrojom.

Aby SQL mohol zálohovať priamo do zdieľanej siete, musíme spustiť službu SQL Server ako lokálny účet, ktorý má prístup k sieťovým zdrojom.
Aby SQL mohol zálohovať priamo do zdieľanej siete, musíme spustiť službu SQL Server ako lokálny účet, ktorý má prístup k sieťovým zdrojom.

Upravte vlastnosti služby SQL Server a na karte Prihlásenie nakonfigurujte službu na spustenie ako alternatívny účet, ktorý má prístupové práva k sieti.

Keď kliknete na tlačidlo OK, zobrazí sa výzva, aby sa nastavenia neuplatnili až po reštarte služby.
Keď kliknete na tlačidlo OK, zobrazí sa výzva, aby sa nastavenia neuplatnili až po reštarte služby.
Reštartujte službu.
Reštartujte službu.
Zoznam služieb by teraz mal ukázať, že služba SQL Server beží ako konto, na ktorom ste nakonfigurovali.
Zoznam služieb by teraz mal ukázať, že služba SQL Server beží ako konto, na ktorom ste nakonfigurovali.
Teraz, keď spustíte príkaz na zálohovanie priamo do zdieľanej siete:
Teraz, keď spustíte príkaz na zálohovanie priamo do zdieľanej siete:

SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”

Mali by ste vidieť správu o úspechu:

Processed 152 pages for database ‘MyDB’, file ‘MyDB’ on file 1. Processed 2 pages for database ‘MyDB’, file ‘MyDB_log’ on file 1. BACKUP DATABASE successfully processed 154 pages in 0.503 seconds (2.493 MB/sec).

S záložným súborom teraz v adresári zdieľania v sieti:

Image
Image

Dôležité informácie o sieti

Je dôležité poznamenať, že príkaz na zálohovanie očakáva, že sa bude môcť priamo pripojiť k sieťovej zdieľanosti bez výzvy na zadanie poverení. Účet, ktorý ste nakonfigurovali na spustenie služby SQL Server, musí mať dôveryhodné spojenie so zdieľanou sieťou, v ktorej príslušné poverenia umožňujú prístup, inak môže dôjsť k takejto chybe:

Msg 3201, Level 16, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 1326(Logon failure: unknown user name or bad password.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

Táto chyba naznačuje, že používateľské meno a heslo účtu neboli prijaté zdieľaním siete a príkaz zlyhal.

Ďalším problémom, ktorý je potrebné mať na pamäti, je zálohovanie vykonávané priamo na sieťovom zdroji, takže akékoľvek upútanie v sieťovom pripojení môže spôsobiť zlyhanie vašej zálohy. Z tohto dôvodu by ste mali zálohovať iba na miestach v sieti, ktoré sú stabilné (t. J. Pravdepodobne nie VPN).

Bezpečnostné dôsledky

Ako bolo spomenuté vyššie, je preferovaná metóda, pri ktorej lokálne zálohujete a potom skopírujete sieťovú zdieľanú sieť, pretože umožňuje spustiť službu SQL ako účet iba s miestnym prístupom k systému.

Spúšťaním služby ako alternatívneho účtu otvárate dvere možným bezpečnostným problémom. Napríklad malý skript SQL by sa mohol spustiť pod alternatívnym účtom a napadnúť sieťové zdroje. Navyše akékoľvek zmeny v príslušnom účte (zmeny hesla / vypršania platnosti alebo vymazanie / deaktivácia konta) spôsobia, že služba SQL Server sa nespustí.

Je dôležité mať na pamäti tieto body, ak spustíte inštanciu servera SQL Server pomocou alternatívneho účtu. Zatiaľ čo sa nezobrazujú zátky, ak sa vykonajú náležité opatrenia, mali by ste zvážiť pridanie ďalšieho miesta na pevnom disku a potom implementovať lokálnu zálohu a kopírovanie, aby ste mohli spustiť službu SQL pomocou lokálneho účtu.

Odporúča: