Kotisivu » miten » SQL-tietokantojen varmuuskopiointi verkko-osioon

    SQL-tietokantojen varmuuskopiointi verkko-osioon

    SQL-tietokantojen varmuuskopiointi on säännöllistä. Olemme jo katseet tapoja, joilla voit helposti varmuuskopioida kaikki SQL-palvelintietokannat paikalliselle kiintolevylle, mutta tämä ei suojaa asemaa ja / tai järjestelmän vikoja vastaan. Ylimääräisenä suojana tällaista katastrofia vastaan ​​voit kopioida tai suoraan luoda varmuuskopioita verkkoon.

    Varmuuskopiointi paikallisesti ja sitten Kopioi verkko-osioon

    Edullisin ja suorin tapa tämän tehtävän suorittamiseen on yksinkertaisesti luoda paikallinen varmuuskopio tietokannasta ja kopioida sitten varmuuskopiotiedosto verkko-osaan. Voit tehdä tämän luomalla eräskriptin, joka näyttää tältä:

    SET LocalFolder = C: OhjelmatiedostotMicrosoft SQL ServerMSSQL.1MSSQLBackup
    SqlCmd -E -Q “Varmuuskopiointitietokanta MyDB-levylle ="% LocalFolder% MyDB.bak ""
    XCopy “% LocalFolder% MyDB.bak” “19.168.16.55BackupDatabases” / Z / V
    DEL “% LocalFolder% MyDB.bak”

    Tämä komentosarja toimii seuraavasti (rivinvaihto):

    1. Asettaa paikallisen SQL-varmuuskopion muuttujan.
    2. Luo SQL-varmuuskopion MyDB: stä (käyttäen Windows Authentication) paikalliseen SQL-varmuuskopiointihakemistoon.
    3. Kopioi paikallisen varmuuskopiotiedoston verkkoon.
    4. Poistaa paikallisen varmuuskopiotiedoston.

    Jälleen tämä on edullinen menetelmä, koska se toimii pois laatikosta ja varmuuskopion todennäköisyys on vähäinen, koska varmuuskopio on luotu paikalliselle levylle. Jos sinulla ei ole tarpeeksi levytilaa tallentamaan varmuuskopiotiedostojen paikallisia kopioita, tämä toiminto epäonnistuu. Tässä tapauksessa sinun täytyy lisätä lisää levytilaa tai varmuuskopioida suoraan verkko-osaan.

    Varmuuskopiointi suoraan verkko-osioon

    Tyypillisesti kun yrität luoda varmuuskopion suoraan verkko-osaan käyttämällä komentoa, kuten:

    SqlCmd -E -Q “Varmuuskopiointitietokanta MyDB-levylle =" 191.168.16.55BackupDatabasesMyDB.bak ""

    Saat todennäköisesti todennäköisesti virheen seuraavasti:

    Viesti 3201, taso 16, tila 1, palvelin JF, linja 1
    Varmuuskopiointilaitetta ei voi avata '192.168.16.55BackupDatabasesMyDB.bak'. Käyttöjärjestelmän virhe 5 (Access on evätty.).
    Viesti 3013, taso 16, tila 1, palvelin JF, linja 1
    BACKUP DATABASE päättyy epänormaalisti.

    Tämä virhe ilmenee siitä huolimatta, että suoritit SQL-varmuuskopiointikomennon Windows-todennuksen (-E-kytkin) ja Windows-tilin avulla, koska voit käyttää ja kopioida tiedostoja jakamiseen Windows Explorerin avulla.

    Syy, miksi tämä toiminto epäonnistuu, johtuu siitä, että SQL-komento suoritetaan sen tilin rajoissa, jossa SQL Server -palvelin toimii. Kun tarkastelet Tietokoneen Palvelut-luetteloa, näet todennäköisesti SQL Server -palvelun (kirjautumissarakkeessa) joko Paikallinen järjestelmä tai Verkkopalvelu, jotka ovat järjestelmän tunnuksia, joilla ei ole verkkoyhteyttä.

    Järjestelmässämme verkon jako-komennon varmuuskopiointi epäonnistuu, koska meillä on SQL Server -palvelin, joka toimii paikallisena järjestelmänä, joka taas ei pääse mihinkään verkkoresursseihin.

    Jotta SQL voisi varmuuskopioida suoraan verkko-osaan, SQL Server -palvelun on oltava paikallinen tili, jolla on pääsy verkkoresursseihin.

    Muokkaa SQL Server -palvelun ominaisuuksia ja määritä Palvelu-välilehdellä palvelu toimimaan vaihtoehtoisena tilinä, jolla on verkkoyhteysoikeudet.

    Kun valitset OK, näyttöön tulee kehote, että asetukset eivät tule voimaan ennen kuin palvelu käynnistetään uudelleen.

    Käynnistä palvelu uudelleen.

    Palveluluettelon pitäisi nyt näyttää, että SQL Server -palvelun käyttö on määritetty määrittämäsi tilin muodossa.

    Nyt kun suoritat komennon varmuuskopioida suoraan verkko-osioon:

    SqlCmd -E -Q “Varmuuskopiointitietokanta MyDB-levylle =" 191.168.16.55BackupDatabasesMyDB.bak ""

    Sinun pitäisi nähdä menestysviesti:

    Käsitteli 152 sivua tietokantaan "MyDB", tiedosto "MyDB" tiedostossa 1.
    Käsitteli 2 sivua tietokantaan "MyDB", tiedosto "MyDB_log" tiedostoon 1.
    BACKUP DATABASE käsitteli onnistuneesti 154 sivua 0,503 sekunnissa (2,443 MB / s).

    Kun varmuuskopiotiedosto on nyt verkon jako-hakemistossa:

    Verkko-osuuksia koskevat seikat

    On tärkeää huomata, että varmuuskopiointikomento odottaa voivansa muodostaa yhteyden suoraan verkko-osaan ilman, että sitä pyydetään antamaan valtakirjoja. Tili, jonka olet määrittänyt SQL Server -palvelun suorittamiseen, on luotettava yhteys verkko-osuuteen, jossa vastaavat tiedot mahdollistavat pääsyn, muuten tällainen virhe voi tapahtua:

    Viesti 3201, taso 16, tila 1, palvelin JF, linja 1
    Varmuuskopiointilaitetta ei voi avata '192.168.16.55BackupDatabasesMyDB.bak'. Käyttöjärjestelmän virhe 1326 (sisäänkirjautumisen epäonnistuminen: tuntematon käyttäjätunnus tai huono salasana.).
    Viesti 3013, taso 16, tila 1, palvelin JF, linja 1
    BACKUP DATABASE päättyy epänormaalisti.

    Tämä virhe ilmaisee, että verkko-osuus ei hyväksynyt tilin käyttäjätunnusta ja salasanaa, ja komento epäonnistui.

    Toinen asia, joka on pidettävä mielessä, on varmuuskopiointi suoraan verkkoresurssiin, joten kaikki verkkoyhteyden hikkaukset saattavat aiheuttaa varmuuskopion epäonnistumisen. Tästä syystä kannattaa varmuuskopioida vain verkkoalueille, jotka ovat vakaita (eli luultavasti ei VPN).

    Turvallisuusvaikutukset

    Kuten aiemmin mainittiin, on suositeltavaa käyttää menetelmää, jossa varmuuskopiointi tapahtuu paikallisesti ja kopioidaan sitten verkko-osaan, koska sen avulla voit käyttää SQL-palvelua vain, jos käytössä on paikallisen järjestelmän käyttöoikeus.

    Käyttämällä palvelua vaihtoehtoisena tilinä avaat oven mahdollisiin turvallisuuskysymyksiin. Esimerkiksi haitallinen SQL-komentosarja voi suorittaa vaihtoehtoisen tilin ja hyökätä verkon resursseja. Lisäksi mikä tahansa muutos vastaavaan tiliin (salasanan muutokset / vanhentumiset tai tilin poistaminen / poistaminen käytöstä) aiheuttaa SQL Server -palvelun epäonnistumisen.

    On tärkeää pitää nämä näkökohdat mielessä, jos suoritat SQL-palvelimen esimerkin käyttämällä vaihtoehtoista tiliä. Vaikka nämä eivät näytä tulppia, jos toteutetaan asianmukaisia ​​varotoimia, kannattaa harkita lisää kiintolevytilaa ja toteuttaa paikallinen varmuuskopio ja kopioida, jotta voit käyttää SQL-palvelua paikallisen tilin avulla.