Odată ce antrenamentul este finalizat, puteți continua cu cea mai mare recuperare. Start de recuperare poate utiliza Management Studio GUI (meniul contextual RestoreDatabase pentru baze de date container sau meniu contextual Sarcini | Restaurare container bază de date) sau folosind comanda RESTORE. Ca de obicei, descriem capabilitățile pe care le prezintă interfața grafică și oferim informații despre acești parametri ai comenzii RESTORE. care corespund:
q Destinația de restaurare. Todatabase este, desigur, numele bazei de date care urmează să fie restaurat. Rețineți că în loc să selectați o bază de date din listă, puteți introduce numele dvs. În acest caz, o nouă bază de date va fi creată din copia de rezervă de pe server. În unele cazuri, poate fi convenabil să restaurați o copie a unei baze de date existente sub un nume diferit și, dacă este necesar, să ștergeți vechea bază de date și să o redenumiți cu numele vechi.
Comanda pentru restaurarea bazei de date în cea mai simplă versiune ar putea să arate astfel:
RESTORE DATABASE db2 DE LA DISK = 'D: \ SQLBackups \ BackupFile1.bak';
În acest caz, ar putea fi creată o copie de rezervă pentru baza de date db1. nu db2;
· Restaurați eticheta tranzacției. De obicei, eticheta de tranzacție este aplicată înainte de a efectua operațiuni riscante (aplicarea de patch-uri de la dezvoltatori, curățarea sau încărcarea în vrac a datelor etc.). Puteți crea o etichetă de tranzacție foarte simplu:
BEGIN TRAN marca1 cu marcaj;
Pentru a restabili, utilizați parametrul WITH STOPATMARK = 'mark1'. Pentru a opri exact pe această etichetă sau cu STOPBEFOREMARK = 'mark1' pentru a opri exact înaintea acestei etichete;
RESTORE LOG db1 DIN DISK = 'D: \ SQLBackups \ BackupFile1.bak' CU STOPATMARK = 'lsn: 120';
q Fromdatabase - Istoricul rezervelor din tabelele de baze de date m sdb va fi folosit pentru a detecta backup-urile. În listă, puteți selecta nu numai baza de date curentă, ci și alte baze de date care se află pe acest server;
q Fromdevice (De pe dispozitiv) - trebuie să specificați explicit locația copiei de rezervă. Această caracteristică este utilizată în situațiile în care trebuie să restaurați baza de date pe un alt server sau să modificați locația copiei de rezervă. În ambele cazuri, va trebui să selectați un dispozitiv de backup logic, un cartuș cu unitate de bandă sau un fișier de pe disc. O altă opțiune (disponibilă numai în Enterprise Edition și numai atunci când baza de date este complet restaurată) este de a folosi ca sursă un instantaneu al bazei de date (databasesnapshot);
q Selectațibackbacksetstorestore-În această listă, va trebui să bifați casetele pentru copii de rezervă pe care intenționați să le restaurați. Rețineți că casetele de selectare pot fi plasate în fața mai multor copii de rezervă. În acest caz, va fi executată o comandă separată RESTORE pentru fiecare rezervă selectată.
Opțiunile de recuperare suplimentare și foarte importante sunt prezentate în fila Opțiuni din fereastra de recuperare a bazei de date Management Studio:
q Suprascrieți baza de date existentă - caseta de validare vă permite să suprascrieți o bază de date existentă. De fapt, anulează verificările care sunt proiectate pentru a preveni pierderea datelor în cazul recuperării erorilor. Există trei astfel de verificări:
· Este interzisă restaurarea pe server a unei copii de rezervă a bazei de date a altui, dacă serverul are propria sa bază de date sub acest nume;
· Este interzisă suprascrierea fișierelor care aparțin bazelor de date offline (offline) și, în plus, orice fișiere care nu sunt legate de SQL Server;
Pentru a anula aceste verificări, trebuie să setați caseta de selectare sau să utilizați parametrul WITH REPLACE în comanda RESTORE;
q Setări setări aplicații-Salvați setările de replicare când restaurați. Corespunde parametrului KEEP_REPLICATION al comenzii RESTORE. Acesta este de obicei utilizat numai atunci când baza de date simultan participă atât la replicare cât și la expedierea automată a jurnalului.
q Solicitați înainte de a restaura fiecare copie de rezervă - tipăriți solicitarea înainte de a restaura fiecare copie de rezervă din lista pe care ați selectat-o. De obicei, această opțiune este utilizată numai atunci când fiecare copie se află pe cartușul cu unitate de bandă și trebuie să le schimbați. Această opțiune poate fi configurată numai pe ecranul grafic al Management Studio. Deoarece în codul Transact-SQL, trebuie să utilizați propria comandă RESTORE pentru a restabili fiecare copie de siguranță;
q Restrictaccesstotherestoreddatabase (Limitează accesul la baza de date restaurate) - după restaurare va fi deschisă numai membrilor rolul bazei de date db_owner fixă, și membrii roluri de server dbcreator și sysadmin. Acest parametru este utilizat, de obicei, în cazurile în care după recuperarea bazei de date trebuie să efectuați verificări suplimentare sau să efectuați corecții. Aceasta corespunde parametrului de comandă RESTORE WITH RESTRICTED_USER;
q Restorethedatabasefilesas este un parametru foarte important care vă permite să definiți o nouă cale pentru fișierele bazei de date recuperabile. Nu puteți să o faceți fără ea, de exemplu, în acele situații în care restaurați o bază de date pe un alt server, pe care configurația discului pare diferită. Acest steguleț în comanda RESTORE corespunde parametrului MOVE. de exemplu:
BAZA DE DATE db1 RESTORE = 'de pe disc D: \ SQLbackups \ BackupFile1.bak' CU MOVE 'db1' la 'D: \ db1.mdf', MOVE 'db1_log' la 'D: \ db1_log.mdf';
Aici db1 și db1_log - este numele logic al fișierelor bazei de date și jurnalul de tranzacții, respectiv, și „D: \ db1.mdf“ și „D: \ db1_log.mdf“ - este o nouă locație pentru fișierele care urmează să fie restaurate dintr-o copie de rezervă;
q Recoverystate este un alt parametru important care determină dacă baza de date va fi deschisă utilizatorilor după terminarea recuperării de pe suport. La dispoziția dumneavoastră sunt trei opțiuni:
· CU RECUPERARE - restabilire în modul normal. După terminarea restaurării, începe procedura RECUPERARE. Toate tranzacțiile în așteptare vor fi anulate și, eventual, baza de date va fi deschisă utilizatorilor. Acest parametru este utilizat în mod implicit;
· WITH NORECOVERY - procedura de recuperare nu va începe după ce recuperarea de pe suportul media sa terminat. Baza de date va rămâne în starea neoperatorie de recuperare. Această opțiune este utilizată atunci când după restaurarea unei copii de rezervă pe care doriți să restaurați copii suplimentare, de exemplu, după restaurarea unei copii de rezervă complete, restaurați copia de rezervă a jurnalului de tranzacții;
· CU STANDBY - procedura de recuperare va începe, dar toate informațiile despre toate tranzacțiile în așteptare anulate vor fi scrise în fișierul de anulare (va trebui să-l specificați). În consecință, utilizatorii vor putea accesa baza de date restaurată pentru citire (de exemplu, pentru a crea rapoarte), dar în același timp rămâne capacitatea de a aplica următoarele copii de rezervă ale jurnalelor de tranzacții. Această soluție este folosită de obicei numai atunci când aplicați transportul automat de jurnal pe serverul de rezervă (logshipping).
Ca și în cazul comenzii BACKUP. Unele caracteristici ale comenzii RESTORE sunt disponibile numai din codul Transact-SQL. Despre unele dintre ele (de exemplu, despre posibilitatea de recuperare la marca unei tranzacții sau LSN) a fost deja spus. Următoarele sunt câțiva parametri care nu pot fi selectați utilizând interfața grafică:
q CHECKSUM | NOCHECKSUM - vă permite să activați sau să dezactivați controalele sumelor de control în timpul recuperării. În mod implicit, această verificare este efectuată și, în cazul unei discrepanțe, recuperarea este terminată și este afișat un mesaj de eroare;
q CONTINUE_AFTER_ERROR | STOP_ON_ERROR - dacă restabilirea va fi oprită în cazul unor erori în suma de control. Setarea implicită este STOP_ON_ERROR;
q MEDIANAME - vă permite să specificați numele suportului de unde să restaurați. Folosit numai pentru verificări suplimentare;
q RESTART - vă permite să continuați operația de restaurare din momentul în care a fost întreruptă (de exemplu, trebuie să introduceți cartușul următor în flux);
q REWIND | NOREWIND - Dacă doriți să derulați banda în cartuș după restaurare sau nu. Valoarea implicită este REWIND. adică să producă;
q STATS - aceeași ca și pentru comanda BACKUP. Acest parametru determină frecvența mesajelor de informare. În mod prestabilit, informațiile despre progresul recuperării sunt afișate după restaurarea la aproximativ 10% din copia de rezervă;
q ÎNCĂRCARE | NOUNLOAD - pentru a descărca cartușul de la ștergător după terminarea recuperării sau nu. Valoarea implicită este UNLOAD. care este, descărca. UNLOAD include, de asemenea, rebobinarea benzii la început, astfel încât nu poate fi utilizată împreună cu parametrul REWIND.