Toți sunt familiarizați cu postulatul pe care trebuie să-l copiați în mod periodic pentru a vă asigura funcționarea sigură, dar cu toate acestea, puțini oameni s-au gândit la acest subiect înainte de a-și pierde o singură dată "perfectă" toată munca lor.
Acasă> Blogul nostru> Crearea unei copii de siguranță automate a bazei de date SQL pe serverul SQL Express Edition
Toți sunt familiarizați cu postulatul pe care trebuie să-l copiați în mod periodic pentru a vă asigura funcționarea sigură, dar cu toate acestea, puțini oameni s-au gândit la acest subiect înainte de a-și pierde o singură dată "perfectă" toată munca lor.Pasul 1. Creați un fișier text (de exemplu, backupGTD.txt) după cum urmează:
sqlcmd -S DECLSERVER \ SQLGTD -R -Q «declară @s varchar (255) set @ s = 'E: \ backup de \ GTD_' + convertizor (varchar (1), datepart (dw, getDate ())) +“. bak 'bază de date de rezervă GTD la disc = @ s cu init, noformat, skip, nounload »
- -S - specifică numele serverului, serverul [\ instance_name];
- DECLSERVER \ SQLGTD - numele serverului / instanței pe care rulează baza de date;
- -E - utilizează o conexiune de încredere pentru a se conecta la serverul SQL în locul numelui de utilizator și a parolei;
- -Q "cmdlinequery" - când executați programul sqlcmd execută interogarea, dar nu există ieșire din program după finalizarea acesteia. Se pot executa interogări multiple separate prin punct și virgulă. Soluiți interogarea așa cum se arată mai sus;
- declare - declara o variabilă s, numele variabilei începe întotdeauna cu @, deci @s. În cazul nostru, @s este dosarul (discul) copiilor de rezervă;
- varchar (n) - specifică tipul variabilei @ s ca șir cu lungimea n, în exemplul 255 caractere;
- set - setează valoarea @s variabile, în dosarul exemplu de rezervă de pe unitatea E (E: \ de backup \), specificate în continuare numele unui fișier copie de rezervă, în cazul în care un set de funcții converti (varchar (1), datepart (DW, getDate ())) se întoarce în format text cu o lungime de 1 simbol ziua curentă a săptămânii (luni - marți, 1 - 2, etc.), și adaugă extensia bak. La ieșire, vom obține un fișier numit GTD_Number of Days. Week; .bak;
- backup - creează o copie de rezervă;
- baza de date - indică crearea unei copii de rezervă a întregii baze de date;
- GTD - în exemplul nostru, numele bazei de date pe serverul SQL;
- pe disc - indică tipul dispozitivului de stocare de rezervă, fișierul hard disk și variabila @s este specificată. cărora li se atribuie calea și numele fișierului creat;
- cu init, noformat, săriți, nounload - indică faptul că este necesar să se facă datele suprascriere într-un cerc cu o redefinire de titluri care ne va permite să avem un 7 fișiere de rezervă pentru fiecare zi a săptămânii, reinscriptibile într-un cerc.
Dacă este necesar, puteți utiliza alte funcții, cum ar fi compresia, consultați interogările și funcțiile Ajutor pentru Transact-SQL.
Pasul 2. Modificați extensia fișierului text în .cmd
Ca rezultat, obținem fișierul backupGTD.cmd. Rulați fișierul de comandă creat din aparatul unde este instalată baza de date MS SQL.