Kā dublēt SQL datu bāzes tīkla daļai

Satura rādītājs:

Kā dublēt SQL datu bāzes tīkla daļai
Kā dublēt SQL datu bāzes tīkla daļai

Video: Kā dublēt SQL datu bāzes tīkla daļai

Video: Kā dublēt SQL datu bāzes tīkla daļai
Video: Business Internet vs Home Internet: What's the Difference? - YouTube 2024, Aprīlis
Anonim

Regulāri jāatjauno SQL datu bāzes. Mēs jau esam apskatījuši veidus, kā viegli var dublēt visas jūsu SQL servera datu bāzes vietējā cietajā diskā, taču tas neaizsargā pret disku un / vai sistēmas kļūmi. Kā papildus aizsardzības slānis pret šāda veida katastrofu jūs varat kopēt vai tieši izveidot savas dublējumkopijas tīklā.

Lokālā dublēšana un pēc tam opcija Kopēt uz tīkla koplietošanu

Vēlamais un vistiešākais veids, kā izpildīt šo uzdevumu, ir vienkārši izveidot vietējo datu bāzes dublējumu un pēc tam nokopēt attiecīgo dublējuma failu tīkla daļai. To varat izdarīt, izveidojot partijas skriptu, kas izskatās šādi:

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”

Šis skripts veic šādu (pēc vienas rindas):

  1. Iestata mainīgo vietējā SQL rezerves direktorijā.
  2. Izveido MyDB SQL rezerves (izmantojot Windows autentifikāciju) vietējā SQL rezerves direktorijā.

  3. Kopē vietējo dublējuma failu tīkla daļai.
  4. Dzēš lokālo dublējuma failu.

Atkal šī ir vēlamā metode, jo tā darbojas ārpus kastes un iespējamība, ka rezerves kļūme ir minimāla, jo dublējums tiek izveidots lokālajā diskā. Tomēr, ja jums nav pietiekami daudz vietas diskā, lai saglabātu vietējās dublējuma failu kopijas, šī darbība neizdosies. Šajā gadījumā jums būs jāpievieno papildu diska vietas vai rezerves tieši tīkla kopīgai.

Dublēt tieši tīmeklī

Parasti, mēģinot izveidot rezerves tieši tīkla koplietošanai, izmantojot šādu komandu:

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

Jūs visticamāk saņemsit kļūdu šādās pozīcijā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.

Šī kļūda rodas, neskatoties uz to, ka jūs izmantojāt SQL backup komandu, izmantojot Windows autentifikāciju (-E slēdzi) un Windows kontu kā iespēju piekļūt un kopēt failus uz kopīgošanu, izmantojot Windows Explorer.

Iemesls, kādēļ šī darbība neizdodas, ir tādēļ, ka SQL komanda tiek izpildīta tā paša konta robežās, kurā darbojas SQL Server pakalpojums. Pārskatot Pakalpojumu sarakstu savā datorā, visticamāk, jūs redzēsiet, ka SQL Server pakalpojums darbojas kā (kolonna Log On As) vai nu vietējā sistēma, vai tīkla pakalpojums, kas ir sistēmas konti, kuriem nav tīkla piekļuves.
Iemesls, kādēļ šī darbība neizdodas, ir tādēļ, ka SQL komanda tiek izpildīta tā paša konta robežās, kurā darbojas SQL Server pakalpojums. Pārskatot Pakalpojumu sarakstu savā datorā, visticamāk, jūs redzēsiet, ka SQL Server pakalpojums darbojas kā (kolonna Log On As) vai nu vietējā sistēma, vai tīkla pakalpojums, kas ir sistēmas konti, kuriem nav tīkla piekļuves.

Mūsu sistēmā rezerves tīkla komandrindas komandai neizdodas, jo mums ir SQL Server pakalpojums, kas darbojas kā vietējā sistēma, kas atkal nevar piekļūt nevienam tīkla resursam.

Lai SQL varētu tieši dublēt tīkla daļu, mums ir jāuzstāda SQL Server pakalpojums kā vietējais konts, kuram ir piekļuve tīkla resursiem.
Lai SQL varētu tieši dublēt tīkla daļu, mums ir jāuzstāda SQL Server pakalpojums kā vietējais konts, kuram ir piekļuve tīkla resursiem.

Rediģējiet SQL Server pakalpojuma rekvizītus un cilnē Ieejiet, konfigurējiet pakalpojumu, lai tā darbotos kā alternatīvais konts, kuram ir tīkla piekļuves tiesības.

Noklikšķinot uz Labi, jūs saņemsiet īsziņu, ka iestatījumi netiks stāties spēkā, kamēr pakalpojums netiek restartēts.
Noklikšķinot uz Labi, jūs saņemsiet īsziņu, ka iestatījumi netiks stāties spēkā, kamēr pakalpojums netiek restartēts.
Restartējiet pakalpojumu.
Restartējiet pakalpojumu.
Pakalpojumu sarakstam tagad jāparādās, ka SQL Server pakalpojums darbojas kā jūsu konfigurētais konts.
Pakalpojumu sarakstam tagad jāparādās, ka SQL Server pakalpojums darbojas kā jūsu konfigurētais konts.
Tagad, kad palaižat komandu, lai dublētu tieši tīkla kopīgai:
Tagad, kad palaižat komandu, lai dublētu tieši tīkla kopīgai:

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

Jums vajadzētu redzēt veiksmes ziņojumu:

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

Ar dublējuma failu tagad tīkla koplietošanas direktorijā:

Image
Image

Tīkla koplietošanas apsvērumi

Ir svarīgi atzīmēt, ka rezerves komanda cer izveidot tiešu savienojumu ar tīkla daļu, neprasot akreditācijas datus. Konts, kuram ir konfigurēts SQL Server pakalpojums, lai palaistu, kā arī tam ir jābūt uzticamam savienojumam ar tīkla daļu, ja attiecīgajiem akreditācijas datiem ir piekļuve, pretējā gadījumā var rasties šāda kļūda:

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.

Šī kļūda norāda, ka tīkla koplietojums nepieņēma konta lietotāja vārdu un paroli, un komanda neizdevās.

Cits jautājums, kas jāpatur prātā, ir dublēšana tiek veikta tieši tīkla resursam, tādēļ visi tīkla savienojuma žagari var izraisīt dublēšanos jūsu dublējumkopijā. Šī iemesla dēļ rezerves kopīgošana vietnēm, kas ir stabilas (t.i., droši vien, nav VPN), ir jāoptimizē.

Drošības sekas

Kā jau minēts iepriekš, tiek dota priekšroka vietnes dublēšanas metodei un pēc tam kopēšana uz tīkla koplietošanu, jo tas ļauj jums palaist SQL pakalpojumu kā kontu ar vietējās sistēmas piekļuvi.

Izmantojot pakalpojumu kā rezerves kontu, jūs atverat durvis iespējamām drošības problēmām. Piemēram, ļaunprātīgs SQL skripts varētu tikt izpildīts zem rezerves konta un uzbrukums tīkla resursiem. Turklāt jebkuras izmaiņas attiecīgajā kontā (paroles maiņa / izbeigšanās vai konta dzēšana / atspējošana) izraisīs SQL Server pakalpojuma palaišanu.

Ir svarīgi saglabāt šos punktus, ja jūs vadāt savu SQL Server instance, izmantojot alternatīvu kontu. Lai gan tie neuzrāda aizbāzni, ja tiek veikti pienācīgi piesardzības pasākumi, jums vajadzētu apsvērt iespēju pievienot papildu cietā diska vietas un pēc tam ieviest vietējo dublējumu un kopēt, lai jūs varētu palaist SQL pakalpojumu, izmantojot vietējo kontu.

Ieteicams: