Podržavanje SQL baza podataka redovito je potrebno. Već smo pokrivali načine kako lako sigurnosno kopirati sve vaše SQL poslužiteljske baze podataka na lokalni tvrdi disk, ali to ne štiti od pogona i / ili neuspjeha sustava. Kao dodatni sloj zaštite od ove vrste katastrofe možete kopirati ili izravno izraditi sigurnosne kopije u mrežnom udjelu.
Lokalno kopiranje i kopiranje na mrežni udio
Poželjan i najizravniji način ostvarivanja ovog zadatka je jednostavno stvaranje lokalne sigurnosne kopije baze podataka, a zatim kopirati odgovarajuću sigurnosnu kopiju datoteke u mrežni udio. To možete učiniti tako da izradite skupnu skriptu koja izgleda ovako:
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”
Ova skripta čini sljedeće (redak po retku):
- Postavlja varijablu na lokalni SQL rezervni direktorij.
-
Stvara SQL sigurnosnu kopiju MyDB (koristeći Windows Authentication) u lokalni SQL backup direktorij.
- Kopira datoteku lokalne sigurnosne kopije u mrežni udio.
- Briše lokalnu datoteku sigurnosne kopije.
Ponovno, to je metoda koja se preporučuje jer radi izvan okvira i vjerojatnost sigurnosnog kopiranja je minimalna jer se sigurnosna kopija stvara na lokalnom disku. Međutim, ako nemate dovoljno prostora na disku za pohranjivanje lokalnih kopija sigurnosnih kopija, ova akcija neće uspjeti. U tom slučaju, morat ćete dodati dodatni prostor na disku ili kopirati izravno u mrežni udio.
Sigurnosno kopiranje izravno na mrežni udio
Obično, kada pokušavate stvoriti sigurnosnu kopiju izravno na mrežni udio pomoću naredbe kao što su:
SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”
Uglavnom ćete vjerojatno dobiti pogrešku u skladu s:
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.
Ta se pogreška pojavljuje unatoč činjenici da ste pokrenuli SQL backup naredbu koristeći Windows Authentication (-E prekidač) i Windows račun kao mogućnost pristupa i kopiranja datoteka u udio putem programa Windows Explorer.
Na našem sustavu sigurnosna kopija naredbe za mrežni udjel ne uspijeva jer imamo servis SQL Server kao lokalni sustav koji, opet, ne može doći do bilo kojeg mrežnog resursa.
Uredite svojstva usluge SQL Server i na kartici Prijava, konfigurirati uslugu da se pokrene kao zamjenski račun s pravima pristupa mreži.
SqlCmd -E -Q “Backup Database MyDB To Disk=’192.168.16.55BackupDatabasesMyDB.bak'”
Trebali biste vidjeti poruku o uspjehu:
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 datotečnom sigurnosnom kopijom sada u direktoriju za dijeljenje mreže:
Razmatranja mrežnih dijelova
Važno je napomenuti da sigurnosna kopija naredbe očekuje da će se moći izravno povezati s dijeljenjem mreže bez zatraživanja vjerodajnica. Račun za koji ste konfigurirali posluživanje usluge SQL Server mora imati pouzdanu vezu s mrežnim dijelom u kojem odgovarajuće vjerodajnice dopuštaju pristup, inače se može pojaviti takva pogreška:
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.
Ova pogreška pokazuje da korisničko ime i lozinka računa nisu prihvaćeni od strane mrežnog dijela i naredba nije uspjela.
Još jedno pitanje koje treba imati na umu jest da se sigurnosna kopija izvršava izravno na mrežni resurs, tako da bilo koji štucanje u mrežnoj vezi može uzrokovati neuspjeh sigurnosne kopije. Iz tog razloga trebate samo sigurnosno kopirati mrežne lokacije koje su stabilne (tj. Vjerojatno nisu VPN).
Sigurnosne posljedice
Kao što je ranije spomenuto, preferira se način na koji lokalno kopirajte lokalnu kopiju, a zatim kopirajte na mrežni udio, jer vam omogućuje da pokrenete SQL uslugu kao račun samo lokalnim pristupom sustavu.
Pokretanjem usluge kao alternativnog računa otvarate vrata potencijalnim sigurnosnim problemima. Na primjer, zlonamjerna SQL skripta mogla bi se izvršiti pod alternativnim računom i napasti mrežne resurse. Osim toga, sve izmjene na odgovarajućem računu (izmjene / isteka zaporke ili brisanje / onemogućivanje računa) uzrokovat će neuspjeh pokretanja usluge SQL Server.
Važno je držati ove točke na umu ako pokrenete instancu SQL Server pomoću alternativnog računa. Iako to nisu pokazivači ako se poduzmu odgovarajuće mjere predostrožnosti, trebali biste razmotriti dodavanje dodatnog prostora na tvrdom disku, a zatim implementirati lokalnu kopiju i kopiranje tako da možete pokrenuti SQL uslugu pomoću lokalnog računa.