Exportul și importul bazelor de date MSSQL printr – o partajare de rețea

  • Mike Sherman
  • 8 octombrie 2020, ora 9: 00 EDT

când lucrați cu baze de date MSSQL, este posibil să descoperiți că trebuie să exportați baze de date printr-o partajare de rețea direct din interfața SQL Server Management Studio (SMSS). În timp ce SMS-urile nu conțin această funcție nativ, vă vom arăta o lucrare în jur!

în primul rând, să acopere exportul și importul de baze de date MSSQL

ca o necesitate de bază pentru a utiliza acest ghid, vrem să vă asigurați că știți cum să exportați și să importați bazele de date ca .fișiere bak. Acesta este atât modul în care faceți backup pentru o bază de date MSSQL, cât și modul în care mutați o bază de date între două servere. Acest proces este denumit intern în SSMS (SQL Server Management Studio) ca backup sau restaurare a unei baze de date, în funcție de direcția în care mergeți.

exportul unei baze de date MSSQL prin Backup

pentru a începe exportul bazei de date, Deschideți SSMS, conectați-vă la serverul dvs. și navigați la baza de date.

puteți copia baza de date făcând clic dreapta pe bazele de date dorite și navigând la activități > Backup.

rulați o copie de rezervă pentru baza de date făcând clic dreapta pe bazele de date dorite și navigând la Backup-ul sarcinilor.

publicitate

aceasta deschide meniul bazei de date de rezervă unde puteți selecta baza de date pentru backup, tipul de rezervă, destinația fișierului și numeroase alte opțiuni. De dragul acestui articol, nu este nevoie să modificăm setări suplimentare sau avansate în acest moment, așa că trebuie doar să fiți conștienți de meniu și de aspectul acestuia.

 aici puteți selecta opțiuni pentru a selecta opțiuni de rezervă.

când creați o copie de rezervă MSSQL, baza de date va fi exportată ca .dosarul bak. În secțiunea destinație din meniul de mai sus, puteți adăuga sau elimina locații în care să faceți backup pentru baza de date. Puteți adăuga una sau mai multe locații pentru locația de destinație a dvs.dosarul bak.

Faceți clic pe OK și baza dvs. de date va fi copiată în locația selectată.

importarea unei baze de date MSSQL prin restaurarea

pentru a restaura o bază de date, vom urma un proces similar, dar invers. În loc de a exporta baza de date la un .fișier bak, vom importa baza de date din .fișier înapoi.

pentru a importa baza de date, faceți clic dreapta pe serverul dvs. în loc de baza de date și selectați Restaurare bază de date.

importați baza de date făcând clic dreapta pe server și selectând restaurare bază de date.

aceasta vă aduce la un meniu similar cu meniul backup, unde puteți selecta fișierul din care importați, sub setarea dispozitivului și destinația locației sale, precum și orice alte opțiuni avansate de care aveți nevoie.

selectați fișierul din care doriți să importați, sub setarea dispozitivului, împreună cu destinația locației sale și orice alte opțiuni avansate necesare.

publicitate

selectarea pictogramei din meniul Sursă > dispozitiv vă permite să selectați .fișier bak pe care doriți să îl importați. Faceți clic pe Adăugare și puteți naviga la .fișier bak pe care doriți să restaurați. Faceți clic pe OK și baza de date vor fi importate la SQL server curent!

în acest moment, dacă încercați să importați sau să exportați într-o partajare de rețea sau o unitate mapată, este posibil să întâmpinați unele dificultăți.

de ce nu pot exporta direct pe o unitate mapată?

motivul pentru care există acest ghid este că Microsoft nativ nu include o funcție pentru a exporta o bază de date direct la o partajare de rețea sau o unitate mapată. Când exportați baza de date pentru copii de rezervă sau pentru a importa pe un alt server, nu puteți selecta nicio unitate de rețea din meniu sau să introduceți manual o locație la distanță.

Selectarea Locației de rețea în care ar trebui stocată copia de rezervă.

dacă încercați să navigați la unitate selectând pictograma din meniul Selectare destinație Backup, unitatea Z: din rețea nu va fi listată și vor fi afișate doar unitățile locale.

unități locale pentru a selecta din meniul Selectare destinație Backup.

mulți încearcă să introducă manual calea către unitatea lor de rețea. Dacă introduceți direct calea către unitatea de partajare a rețelei, cum ar fi Z:\mybackup.bak, puteți face clic pe OK în meniul Selectare destinație Backup.

 puteți introduce direct calea către unitatea de partajare a rețelei din meniul Selectare destinație Backup.

publicitate

dar când faceți clic pe OK pe exportul final, apare un mesaj de eroare similar cu acesta:

dacă o copie de rezervă nu poate găsi calea potrivită pentru a stoca copia de rezervă, un mesaj de eroare va fi afișat la exportul final.

după cum puteți vedea, aceasta poate fi o problemă dacă trebuie să faceți backup bazelor de date într-o locație la distanță din lipsă de spațiu sau din motive de securitate. De obicei, va trebui apoi să exportați baza de date local, să o copiați pe serverul de la distanță, apoi să o importați pe serverul SQL de destinație.

Cum Putem Ocoli Această Funcționalitate Lipsă?

pentru a face acest lucru, trebuie rulate o serie de scripturi pentru a adăuga unitatea de rețea la meniul selectabil MSSQL. Primul lucru de făcut este să ștergeți cota de rețea curentă, pe măsură ce o recreați în timpul procesului din linia de comandă SQL. Pentru a face acest lucru, pur și simplu faceți clic dreapta pe unitatea din File-explorer și selectați” Deconectați ” sau deschideți promptul de comandă și introduceți:

net use Z: /delete

cota dvs. de rețea este litera de unitate a lui Z .

acum că ați șters partajarea existentă, deschideți SSMS și creați o nouă interogare cu următoarele comenzi:

EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell',1 GO RECONFIGURE GO

Faceți clic pe Executare și ar trebui să vedeți următoarea fereastră:

executarea unei ștergeri a cotei de rețea curente.

ceea ce face acest script este să configurați shell-ul de comandă pentru SQL pentru a vă permite să rulați propriile scripturi direct din shell-ul de comandă compatibil SQL.

publicitate

după ce ați rulat comanda de mai sus, creați o nouă interogare și executați următoarea comandă:

EXEC XP_CMDSHELL 'net use Z: \192.168.1.1\C$ /user:Administrator '

înlocuiți 192.168.1.1 cu adresa IP a serverului dvs. de destinație la distanță și actualizați pentru a fi parola utilizatorului administrativ. Rețineți că pentru a crea aceste acțiuni, aproape sigur aveți nevoie de drepturi de administrator.

acum Puteți verifica dacă unitatea de rețea este configurată corect în SQL executând următoarea interogare:

EXEC XP_CMDSHELL 'Dir V:'

ați activat commandshell, ați creat o partajare de rețea în SQL și ați verificat existența acesteia. Acum Puteți exporta și importa copii de rezervă direct din această locație. O puteți vedea accesând baza de date > activități > Backup unde puteți vedea că unitatea Z: este disponibilă atunci când adăugați o locație de destinație la care să faceți backup.

Felicitări! Acum ați configurat o partajare de rețea în SQL care persistă chiar dacă închideți și redeschideți SSMS. Puteți face backup sau restaurare direct în această locație acum și nu mai trebuie să vă faceți griji cu privire la copierea de rezervă a bazelor de date la nivel local, doar pentru a trebui să le mutați pe un server la distanță imediat după aceea.

Mike Sherman
Mike Sherman a lucrat ca administrator de server de întreprindere pentru un centru de date internațional, precum și ca consultant tehnic pentru un MSP național. Are ani de experiență în găzduire, securitate și rezolvarea problemelor practice.Citiți Biografia Completă ”

Leave a Reply