Cale de recuperare

Cunoașterea căilor de recuperare este esențială dacă se utilizează copii de rezervă sau copiile de rezervă logice și recuperarea bazei de date la un moment dat anterior se realizează utilizând una din următoarele metode:







Efectuați o restaurare la un moment dat

Efectuați o restaurare fără a recupera mai întâi din toate copiile de siguranță ale jurnalelor și din ultimele copii de rezervă diferențiale.

Dacă restaurați baza de date într-un moment anterior și apoi utilizați baza de date din acest punct, se creează o nouă cale de recuperare. restaurare Calea este secvența de date de backup și jurnale, prin care posibilă recuperarea bazei de date într-un punct în timp, fie în utilizarea normală a bazei de date, fie în timpul unei secvențe speciale de recuperare și reviste de date. Traseul de recuperare constă într-un set unic de transformări speciale, care reflectă dezvoltarea bazei de date în timp și susținerea coerenței datelor din aceasta. Figura următoare prezintă relația dintre punctul de recuperare și traiectoria finală de recuperare.

Următoarele situații conduc la crearea unei noi căi de recuperare, deoarece baza de date nu este restaurată "până la sfârșitul timpului". În consecință, există copiile de rezervă care implementează una sau mai multe căi de recuperare, fiecare dintre ele utilizând aceeași gamă de LSN-uri.

Restaurați o copie de rezervă completă și restaurați baza de date în jurnal fără a utiliza alte tipuri de copii de rezervă.

Restabiliți baza de date de la sfârșitul backup-ului diferențial, diferit de cea mai recentă copie de rezervă diferențială.

Restabiliți o copie de rezervă completă și o copie de siguranță diferențială și restaurați baza de date fără a aplica copii de rezervă existente în jurnalul de tranzacții

Restaurați baza de date de la sfârșitul copierii jurnalului de tranzacții, cu excepția celei mai recente copii de rezervă a jurnalului de tranzacții.

Restaurați baza de date dintr-un anumit moment sau dintr-o tranzacție marcată în interiorul copiei de rezervă a jurnalului de tranzacții.

În general, punctul de recuperare creează o nouă cale de recuperare dacă provoacă o retrogradare a tranzacțiilor. Anterior, copii de rezervă pot avea LSN-uri mai mari decât numărul LSN al acestui punct de recuperare. În astfel de copii de rezervă, acestea există în diferitele ramuri de recuperare create în operația actuală de restaurare.

Inițial, toate backup-urile bazei de date formează o cale de recuperare, după cum se arată în figura următoare. În această figură, calea de recuperare include o copie de siguranță a bazei de date creată la momentul t1 și trei copii de rezervă create în momentele t2, t3 și t4.

T5 de backup conține metadate despre recuperarea fișă, care conectează această copie de rezervă copie de rezervă revista de recuperare 1. t3 ramură Pentru mai multe informații despre metadatele furcii de recuperare cm. În „Gestionarea furcile de recuperare“ de mai jos.

În exemplul prezentat în ilustrația anterioară, se creează o nouă cale de recuperare, prezentată în figura următoare. Noua cale de recuperare include unele copii de siguranță de la ramura de recuperare 1 (t1-t3) și toate copiile de rezervă ale jurnalului din ramura de recuperare 2 (t5-t9). Pentru această ramură de recuperare, copia de rezervă a jurnalului t4 este depășită.







După restaurarea la un anumit moment în timp, crearea următoarei copii de siguranță produce întotdeauna o furcă de recuperare. În figura următoare, restaurarea la acel moment este făcută pe jumătate folosind jurnalul de backup al t4. Restabilirea bazei de date în acest moment duce la crearea unei furci de recuperare. Apoi, la momentul t5, în baza de date restaurată este creată o copie de rezervă a jurnalului, care specifică ramura de recuperare 2 și generează o nouă cale de recuperare. Prima copie de rezervă a jurnalului din noua ramă t5 conține același număr LSN ca și copia de siguranță a t3 și o înlocuiește. Prin urmare, ambele copii de rezervă, t3 și t4, sunt depășite pentru noua ramură de recuperare.

Pentru a restabili copii de rezervă în această nouă ramură de recuperare, secvența de recuperare va fi t1, t2 și t5. Când creați copii de rezervă noi în ramura de recuperare 2, acestea vor fi incluse în noua cale de recuperare.

Recuperarea și rularea de-a lungul vechii căi

De obicei, dacă există mai multe căi de recuperare, metoda cea mai preferată de recuperare a bazei de date este cea mai recentă. Se recomandă să evitați utilizarea unor căi vechi de recuperare. Cu toate acestea, dacă este necesar, puteți trece peste calea veche de recuperare utilizând secvența de copii de rezervă realizate înainte de a crea calea de recuperare curentă. De exemplu, puteți utiliza copii de rezervă create înainte de o restaurare la un moment dat pentru a ajunge la punctele mai vechi de pe calea veche.

De exemplu, pe baza unor copii de rezervă create în exemplul anterior, după crearea unei reviste t5 de rezervă este încă posibil de a face o recuperare completă din copia de rezervă a bazei de date create la timpul t1, înainte de sfârșitul t4 de backup jurnal. Acest lucru se face pe vechea cale de recuperare.

Recuperarea și rularea de la vechea cale spre cea nouă

SQL Server Database Engine previne utilizarea mai multor copii de rezervă în aceeași secvență de recuperare care rulează pe diferite căi de recuperare. Această limitare asigură că baza de date este consecventă după recuperare.

Pentru a restabili și a trece prin noua cale de recuperare, creați o secvență de recuperare diferită pentru copii de rezervă înainte de punctul de recuperare și pentru copii de siguranță după punctul de restaurare:

Restaurați backup-urile create înainte de restaurare, corespunzătoare noii căi de recuperare. Excludeți copia de rezervă care conține punctul de recuperare.

Rulați noua cale de recuperare, restabilind backup-urile create de la crearea căii de recuperare.

Ramura de recuperare este o serie de numere LSN pentru care este setat același GUID. Calea de recuperare descrie intervalul LSN-urilor de la punctul de lansare (LSN, GUID) până la punctul final (LSN, GUID). Gama de LSN-uri din calea de recuperare poate traversa una sau mai multe ramificații de la început până la sfârșit. O nouă ramificație de recuperare apare atunci când baza de date este creată și dacă instrucțiunea RESTORE WITH RECOVERY generează o furcă de recuperare.

Fișa de recuperare este un punct (LSN, GUID) pe care este pornită noua ramură de recuperare de fiecare dată când este executată instrucțiunea RESTORE WITH RECOVERY. Fiecare furculiță de recuperare definește o relație părinte-copil între ramurile de recuperare.

Restaurarea bazei de date aduce starea întregii baze de date, inclusiv următorul număr LSN, la punctul de recuperare. Numerele LSN sunt apoi reutilizate, începând cu fork_point_lsn. Astfel, atunci când creați o secvență de recuperare, copii de rezervă trebuie să fie legate de ramura de recuperare și de numerele LSN, deoarece același număr LSN poate fi prezent pe mai multe ramuri. Figura următoare arată reutilizarea numărului LSN. Arată cum sunt reutilizate numerele LSN în diferite ramuri de recuperare. Dreptunghiurile verzi din ilustrație indică două copii de rezervă pentru care este utilizat un număr LSN.

Dacă doriți să utilizați copii de rezervă în secvența de recuperare care traversează fișa de recuperare, atunci trebuie creată secvența de recuperare astfel încât copiile de rezervă utilizate să urmeze punctul de recuperare de-a lungul căii de recuperare corecte. Pentru aceasta, copiile de rezervă conțin GUID-ul primei și ultimei furci de recuperare.

Acești identificatori, împreună cu alte metadate asociate cu urmărirea căilor de recuperare, sunt stocate în tabelul jurnal de rezervă și returnate prin instrucțiunea RESTORE HEADERONLY. Următorul tabel rezumă valorile metadatelor relevante pentru crearea secvențelor de recuperare care traversează furculița de recuperare. Rețineți că numele coloanelor pentru aceste valori diferă în tabelul de jurnal și în setul de rezultate al instrucțiunii RESTORE HEADERONLY.







Articole similare

Trimiteți-le prietenilor: