Kako izraditi sigurnosnu kopiju SQL baza podataka u mrežnom dijeljenju
Redovito je potrebno sigurnosno kopirati SQL baze podataka. Već smo pokrili načine za jednostavno sigurnosno kopiranje svih vaših baza podataka SQL servera na lokalni tvrdi disk, ali to ne štiti od neuspjeha pogona i / ili sustava. Kao dodatni sloj zaštite od ove vrste katastrofe, možete kopirati ili izravno stvoriti sigurnosne kopije na mrežnom dijeljenju.
Izradite sigurnosnu kopiju lokalno, a zatim kopirajte u mrežnu mapu
Poželjan i najizravniji način za postizanje ovog zadatka je jednostavno stvaranje lokalne sigurnosne kopije baze podataka, a zatim kopiranje odgovarajuće sigurnosne datoteke na mrežni dio. To možete učiniti tako da izradite skriptu serije koja izgleda ovako:
SET LocalFolder = C: Programske datotekeMicrosoft SQL ServerMSSQL.1MSSQLBackup
SqlCmd -E -Q “Sigurnosna kopija baze podataka MyDB na disk ="% LocalFolder% MyDB.bak ""
XCopy “% LocalFolder% MyDB.bak” / Z / V
DEL “% LocalFolder% MyDB.bak”
Ova skripta čini sljedeće (red po redak):
- Postavlja varijablu u lokalni SQL backup direktorij.
- Stvara SQL backup MyDB (pomoću Windows autentifikacije) u lokalni SQL backup direktorij.
- Kopira lokalnu datoteku sigurnosne kopije na mrežni dio.
- Briše lokalnu datoteku sigurnosne kopije.
Opet, ovo je preferirana metoda jer radi izvan okvira i vjerojatnost neuspjeha sigurnosne kopije je minimalna budući da je sigurnosna kopija stvorena na lokalnom disku. Međutim, ako nemate dovoljno prostora na disku za pohranjivanje lokalnih kopija sigurnosnih kopija, ova radnja neće uspjeti. U tom slučaju morat ćete dodati dodatni prostor na disku ili sigurnosnu kopiju izravno na mrežni dio.
Izravna izrada sigurnosne kopije na mrežni dio
Tipično, kada pokušate stvoriti sigurnosnu kopiju izravno na mrežnom dijeljenju pomoću naredbe kao što su:
SqlCmd -E -Q "Sigurnosna kopija baze podataka MyDB na disk =" \ t
Najčešće ćete dobiti pogrešku u skladu s:
Oznaka 3201, razina 16, stanje 1, poslužitelj JF, linija 1
Nije moguće otvoriti uređaj za sigurnosno kopiranje '\ t Pogreška operativnog sustava 5 (Pristup je odbijen.).
Oznaka 3013, razina 16, stanje 1, poslužitelj JF, linija 1
BACKUP DATABASE se abnormalno završava.
Ta se pogreška pojavljuje unatoč činjenici da ste pokrenuli SQL naredbu za sigurnosno kopiranje koristeći Windows Authentication (prekidač -E) i Windows račun kao mogućnost pristupa i kopiranja datoteka u dijeljene pomoću Windows Explorera.
Razlog neuspjeha ove akcije je u tome što se SQL naredba izvršava unutar granica računa koji je pokrenut s poslužiteljem SQL Server. Kada pregledate popis usluga na računalu, najvjerojatnije ćete vidjeti da se usluga SQL Server izvodi kao (stupac Prijava kao lokalni sustav ili usluga mreže) koji su sustavni računi koji nemaju pristup mreži.
Na našem sustavu sigurnosna kopija za naredbu mrežnog dijeljenja ne uspijeva jer imamo SQL Server servis kao lokalni sustav koji, opet, ne može doći do mrežnih resursa.
Kako bi se SQL-u omogućilo izravno stvaranje sigurnosne kopije na mrežnom dijelu, usluga SQL Server trebamo pokrenuti kao lokalni račun koji ima pristup mrežnim resursima..
Uredite svojstva usluge SQL Server i na kartici Prijava, konfigurirajte uslugu da se izvodi kao zamjenski račun s pravima pristupa mreži.
Kada kliknete U redu, dobit ćete upit da postavke neće stupiti na snagu dok se usluga ne ponovno pokrene.
Ponovno pokrenite uslugu.
Popis usluga sada bi trebao pokazivati da se usluga SQL Server izvodi kao račun koji ste konfigurirali.
Sada kada pokrenete naredbu za izradu sigurnosne kopije izravno na mrežni dio:
SqlCmd -E -Q "Sigurnosna kopija baze podataka MyDB na disk =" \ t
Trebali biste vidjeti poruku o uspjehu:
Obrađeno 152 stranice za bazu podataka 'MyDB', datoteka 'MyDB' u datoteci 1.
Obrađeno 2 stranice za bazu podataka 'MyDB', datoteka 'MyDB_log' u datoteci 1.
BACKUP DATABASE uspješno je obradio 154 stranice za 0,503 sekunde (2,499 MB / s).
Uz datoteku sigurnosne kopije koja se sada nalazi u direktoriju mrežnog dijeljenja:
Razmatranja dijeljenja mreže
Važno je napomenuti da naredba sigurnosnog kopiranja očekuje da se može izravno povezati s dijeljenjem mreže bez traženja vjerodajnica. Račun koji ste konfigurirali za uslugu SQL Server koji mora raditi kao da mora imati pouzdanu vezu s dijeljenjem mreže gdje dotične vjerodajnice omogućuju pristup, u protivnom može doći do pogreške kao što je:
Oznaka 3201, razina 16, stanje 1, poslužitelj JF, linija 1
Nije moguće otvoriti uređaj za sigurnosno kopiranje '\ t Pogreška operacijskog sustava 1326 (neuspjeh prijave: nepoznato korisničko ime ili loša lozinka.).
Oznaka 3013, razina 16, stanje 1, poslužitelj JF, linija 1
BACKUP DATABASE se abnormalno završava.
Ova pogreška ukazuje na to da korisničko ime i lozinka korisničkog računa nisu prihvaćeni od strane mrežnog dijeljenja i naredba nije uspjela.
Još jedno pitanje koje treba imati na umu je da se sigurnosna kopija izvodi izravno na mrežni resurs, tako da bi bilo kakve štete na mrežnoj vezi mogle uzrokovati neuspjeh sigurnosne kopije. Iz tog razloga trebate samo sigurnosno kopirati na mrežne lokacije koje su stabilne (tj. Vjerojatno nisu VPN).
Sigurnosne implikacije
Kao što je ranije spomenuto, prednost se daje korištenju metode gdje lokalno sigurnosno kopirate, a zatim kopirate na mrežni dio, jer vam omogućuje pokretanje SQL usluge kao računa samo s pristupom lokalnom sustavu.
Pokretanjem usluge kao zamjenskog računa otvarate vrata potencijalnim sigurnosnim pitanjima. Na primjer, zlonamjerna SQL skripta mogla bi se izvršiti pod zamjenskim računom i napasti mrežne resurse. Osim toga, sve promjene na odgovarajućem računu (promjene lozinke / isteka ili brisanje / onemogućavanje računa) uzrokovat će neuspjeh pokretanja usluge SQL Server.
Važno je imati na umu ove točke ako pokrenete instancu SQL Servera koristeći alternativni račun. Iako se ne pojavljuju graničnici ako se poduzmu odgovarajuće mjere opreza, razmislite o dodavanju dodatnog prostora na tvrdom disku, a zatim implementirajte lokalno sigurnosno kopiranje i kopiranje kako biste mogli pokrenuti SQL uslugu pomoću lokalnog računa.