SQL-tietokantojen varmuuskopiointi verkko-osuuteen

Sisällysluettelo:

SQL-tietokantojen varmuuskopiointi verkko-osuuteen
SQL-tietokantojen varmuuskopiointi verkko-osuuteen

Video: SQL-tietokantojen varmuuskopiointi verkko-osuuteen

Video: SQL-tietokantojen varmuuskopiointi verkko-osuuteen
Video: Fun with Music and Programming by Connor Harris and Stephen Krewson - YouTube 2024, Huhtikuu
Anonim

SQL-tietokantojen varmuuskopioiminen säännöllisesti on välttämätöntä. Olemme jo selvittäneet tapoja, joilla voidaan helposti varmuuskopioida kaikki SQL-palvelimen tietokannat paikalliseen kovalevyyn, mutta tämä ei suojaa asemilta ja / tai järjestelmän vioilta. Lisäsuojakerrostumana tämäntyyppisten katastrofien varalta voit kopioida tai luoda varmuuskopiot suoraan verkkoosioon.

Varmuuskopio paikallisesti ja Kopioi verkko-osuuteen

Haluttu ja suorin tapa suorittaa tämä tehtävä on yksinkertaisesti luoda tietokannan paikallinen varmuuskopio ja kopioida sitten varmuuskopiotiedosto verkko-osuudelle. Voit tehdä tämän luomalla eräkirjoitus, joka näyttää tältä:

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”

Tämä kirjoitus tekee seuraavaa (rivi riviltä):

  1. Asettaa muuttujan paikalliseen SQL-varmuuskopiohakemistoon.
  2. Luo SQL-varmuuskopion MyDB: lle (Windows-todennus) paikalliseen SQL-varmuuskopiohakemistoon.

  3. Kopioi paikallisen varmuuskopiotiedoston verkko-osuuteen.
  4. Poistaa paikallisen varmuuskopiotiedoston.

Jälleen tämä on suositeltava menetelmä, koska se toimii ulos laatikosta ja todennäköisyys varmuuskopioinnin epäonnistumisesta on vähäistä, koska varmuuskopio luodaan paikalliselle levylle. Jos sinulla ei kuitenkaan ole tarpeeksi levytilaa paikallisten kopioiden varmuuskopiotiedostojen tallentamiseen, tämä toiminta ei onnistu. Tällöin sinun on lisättävä lisää levytilaa tai varmuuskopiointia suoraan verkko-osuuteen.

Varmuuskopioi suoraan verkko-osuuteen

Tyypillisesti, kun yrität luoda varmuuskopion suoraan verkko-osuuteen komennolla, kuten:

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

Saat useimmiten todennäköisesti virheen seuraavilla tavoilla:

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ämä virhe ilmenee siitä huolimatta, että suoritit SQL-varmuuskomennon Windows Authentication (-E-kytkin) ja Windows-tilin avulla, koska voit käyttää tiedostoja ja kopioida niitä Windowsin Resurssienhallinnassa.

Tämän toiminnon epäonnistuminen johtuu siitä, että SQL-komento suoritetaan SQL Server -palvelun käynnissä olevan tilin rajojen sisällä. Kun tarkastelet Palveluluetteloa tietokoneellasi, todennäköisesti näet, että SQL Server-palvelu toimii (Lokitiedosto-sarakkeena) joko paikallisena järjestelmänä tai verkkopalveluna, joka on verkkotiliä, jolla ei ole verkkoyhteyttä.
Tämän toiminnon epäonnistuminen johtuu siitä, että SQL-komento suoritetaan SQL Server -palvelun käynnissä olevan tilin rajojen sisällä. Kun tarkastelet Palveluluetteloa tietokoneellasi, todennäköisesti näet, että SQL Server-palvelu toimii (Lokitiedosto-sarakkeena) joko paikallisena järjestelmänä tai verkkopalveluna, joka on verkkotiliä, jolla ei ole verkkoyhteyttä.

Järjestelmässämme varmuuskopio verkon jakamiskomennolle epäonnistuu, koska meillä on SQL Server-palvelu, joka toimii paikallisena järjestelmänä, joka taas ei pääse mihinkään verkkoresurssiin.

Jotta SQL voi varmuuskopioida suoraan verkko-osuuteen, meidän on suoritettava SQL Server -palvelu paikallisena tilinä, jolla on pääsy verkkoresursseihin.
Jotta SQL voi varmuuskopioida suoraan verkko-osuuteen, meidän on suoritettava SQL Server -palvelu paikallisena tilinä, jolla on pääsy verkkoresursseihin.

Muokkaa SQL Server -palvelun ominaisuuksia ja Kirjaudu sisään -välilehdellä määritä palvelu toimimaan vaihtoehtoisena tilinä, jolla on verkon käyttöoikeudet.

Kun valitset OK, saat kehotteen, että asetukset eivät tule voimaan ennen kuin palvelu käynnistetään uudelleen.
Kun valitset OK, saat kehotteen, että asetukset eivät tule voimaan ennen kuin palvelu käynnistetään uudelleen.
Käynnistä palvelu uudelleen.
Käynnistä palvelu uudelleen.
Palveluluettelossa pitäisi nyt näyttää, että SQL Server -palvelu on käynnissä määritettynä tilinä.
Palveluluettelossa pitäisi nyt näyttää, että SQL Server -palvelu on käynnissä määritettynä tilinä.
Kun suoritat komennon varmuuskopioinnin suoraan verkko-osuuteen:
Kun suoritat komennon varmuuskopioinnin suoraan verkko-osuuteen:

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

Sinun pitäisi nähdä menestysviesti:

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).

Kun varmuuskopiotiedosto on nyt verkko-osakehakemistossa:

Image
Image

Verkon jakokohdat

On tärkeää huomata, että varmuuskopio-komento odottaa voivansa muodostaa yhteyden verkko-osuuteen ilman, että sitä pyydetään kirjautumistiedoista. Tilillä, jonka olet määrittänyt SQL Server -palvelun suoritettavaksi, täytyy olla luotettu yhteys verkko-osuuteen, jossa kyseiset tunnistetiedot antavat pääsyn, muuten tällainen virhe saattaa ilmetä:

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ämä virhe ilmaisee, että verkko-osake ei hyväksynyt tilin käyttäjänimeä ja salasanaa ja komento epäonnistui.

Toinen asia, joka pitää mielessä on se, että varmuuskopio suoritetaan suoraan verkkoresurssille, minkä vuoksi verkon liittymät voivat aiheuttaa varmuuskopioinnin epäonnistumisen. Tästä syystä kannattaa vain varmuuskopioida verkon sijaintiin, jotka ovat vakaita (eli luultavasti ei VPN).

Turvallisuusvaikutukset

Kuten aiemmin mainittiin, suosittelemme menetelmää, jolla varmuuskopioit paikallisesti ja kopioit verkko-osuudelle, koska se sallii sinun käyttää SQL-palvelua tilinä, jolla on vain paikallisen järjestelmän käyttöoikeus.

Kun suoritat palvelua vaihtoehtoisena tilinä, avaat oven mahdollisille turvallisuuskysymyksille. Esimerkiksi haitallinen SQL-komentosarja voi suorittaa vaihtoehtoisen tilin alla ja hyökätä verkon resursseja. Lisäksi muutokset vastaavaan tiliin (salasanan muutokset / vanhentumiset tai tilin poistaminen / poistaminen käytöstä) aiheuttavat SQL Server -palvelun epäonnistumisen.

On tärkeää pitää nämä kohdat mielessä, jos suoritat SQL Server -esimerkin vaihtoehtoisella tilillä. Vaikka nämä eivät ole näyttösuppiloja, jos asianmukaisia varotoimia toteutetaan, harkitse lisää kiintolevytilaa ja asenna paikalliset varmuuskopiot ja kopiot, jotta voit käyttää SQL-palvelua paikallisella tilillä.

Suositeltava: