Cum se pot trunchia și reduce jurnalele de tranzacții din SQL Server
Jurnalele de tranzacții(Transaction logs) ale Microsoft SQL Server tind să crească în timp și pot, uneori, să ocupe tot spațiul liber de pe unitatea de stocare a serverului. Pentru a evita această situație, ar trebui efectuate copii de siguranță periodice ale jurnalelor de tranzacții sau să utilizați operațiunile de trunchiere și reducere a jurnalelor de tranzacții din SQL Server.
Diferența dintre operațiunile „truncate” și „shrink” ale fișierelor jurnal din SQL Server
Trebuie să fiți familiarizați cu modelele de recuperare din SQL Server înainte de a putea înțelege diferența dintre operațiunile „truncate” și „shrink”:
- Modelul de recuperare simplu — SQL Server marchează fișierele jurnal virtuale inactive ca fiind reutilizabile după un punct de control și atunci când niciun factor (cum ar fi copiile de siguranță sau tranzacțiile active), nu blochează trunchierea. Acest mod de recuperare este destinat exclusiv mediilor de dezvoltare sau de testare și nu este recomandat pentru mediile de producție;
- Modelul de recuperare complet — jurnalele de tranzacții nu vor fi șterse până când nu se finalizează o copie de rezervă a jurnalului de tranzacții (nu are loc o truncare automată a jurnalului). Jurnalul de tranzacții va fi trunchiat numai după efectuarea copiei de rezervă a acestuia. Acest mod reprezintă cea mai bună metodă de recuperare a datelor după o defecțiune și este utilizat atunci când este necesară o recuperare la un moment dat.
- Jurnalizare în bloc — acest mod permite reducerea spațiului utilizat de jurnal prin utilizarea setărilor de jurnalizare minimă. SQL Server trunchiază jurnalul de tranzacții numai după efectuarea cu succes a unei copii de rezervă a acestuia.
Copierea de rezervă completă a bazei de date SQL Server nu trunchiază jurnalul de tranzacții. Configurarea copierii de rezervă periodice a jurnalului de tranzacții este singura modalitate valabilă de a trunchia fișierele jurnal. Operațiunea de trunchiere eliberează spațiul, dar nu reduce dimensiunea fișierului jurnalului de tranzacții de pe disc.
Reducerea dimensiunii ar trebui utilizată pentru a reduce dimensiunea jurnalului de tranzacții SQL Server de pe unitate. În timpul operațiunii de reducere, MSSQL mută paginile alocate din fișierul jurnal în spațiul liber și dezalocă VLF-urile neutilizate de la sfârșitul fișierului. Spațiul liber este apoi dezalocat și returnat sistemului de fișiere.
[mai mult...]

