ID articol: 873235 - View products that this article applies to.
Măriți totul | Reduceți totul

În această pagină

INTRODUCERE

Acest articol descrie pașii pe care trebuie să îi urmați atunci când jurnalele de tranzacții devin prea mari. Jurnalele de tranzacții complete pot face inutilizabilă baza de date Microsoft SQL Server. Acest articol descrie cum se trunchiază și se micșorează jurnalele de tranzacții și cum se împiedică mărirea neașteptată a jurnalelor de tranzacții.

INFORMAȚII SUPLIMENTARE

Micșorarea dimensiunii jurnalelor de tranzacții

Pentru recuperarea dintr-o situație în care jurnalele de tranzacții sunt pline, trebuie să micșorați dimensiunea jurnalelor de tranzacții. Pentru aceasta, trebuie să trunchiați tranzacțiile inactive din jurnalul de tranzacții și să micșorați fișierul jurnalului de tranzacții.

Notă Jurnalele de tranzacții sunt foarte importante pentru a men?ine integritatea tranzacțională a bazei de date. Prin urmare, nu trebuie să ștergeți fișierele jurnalelor de tranzacții nici chiar după copierea de rezervă a bazei de date și a jurnalelor de tranzacții.


Pentru mai multe informații despre micșorarea dimensiunii jurnalului de tranzacții, vizitați următorul site Web Microsoft:
Mic?orarea jurnalului de tranzac?ii pentru SQL Server 2000
Mic?orarea jurnalului de tranzac?ii în SQL Server 2005

Trunchierea tranzacțiilor inactive în jurnalul de tranzacții

Dacă jurnalele de tranzacții sunt pline, trebuie să efectuați imediat copia jurnalului de tranzacții. Când se creează copia de rezervă a fișierelor jurnalului de tranzacții, serverul SQL trunchiază automat partea inactivă a jurnalului de tranzacții. Partea inactivă a fișierului jurnalului de tranzacții conține tranzacțiile finalizate și, prin urmare, fișierul jurnalului de tranzacții nu mai este utilizat de serverul SQL în timpul procesului de recuperare. Serverul SQL reutilizează acest spațiu trunchiat și inactiv din jurnalul de tranzacții în loc să permită jurnalului de tranzacții să se mărească în continuare și să utilizeze mai mult spațiu.

Pentru informații suplimentare despre problema de care trebuie să țineți cont la efectuarea copiei de rezervă a jurnalelor de tranzacții și despre problema de care trebuie să țineți cont la restaurarea copiilor de rezervă ale jurnalelor de tranzacții, vizitați subiectele următoare din SQL Server Books Online:
  • Copii de rezervă ale jurnalelor de tranzacții
  • Copierea de rezervă și restaurarea jurnalelor de tranzacții
De asemenea, puteți șterge tranzacțiile inactive dintr-un fișier al jurnalului de tranzacții utilizând metoda Trunchiere. Pentru informații suplimentare despre trunchierea jurnalelor de tranzacții, consultați subiectul „Trunchierea jurnalului de tranzacții” în SQL Server Books Online.

Important După trunchierea manuală a fișierelor jurnalelor de tranzacții, trebuie să creați o copie de rezervă a întregii baze de date înainte de a crea o copie de rezervă a jurnalului de tranzacții.

Pentru informații suplimentare despre problemele ce pot apărea la trunchierea fișierelor jurnalelor de tranzacții, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
62866 Motive pentru care jurnalul de tranzacții SQL nu este trunchiat (Poate fi în engleză)

Micșorarea fișierului jurnalului de tranzacții

Operațiunea copierii de rezervă sau metoda Trunchiere nu micșorează dimensiunea fișierului jurnalului. Pentru a micșora dimensiunea fișierului jurnalului de tranzacții, trebuie să micșorați fișierul jurnalului de tranzacții. Pentru a micșora fișierul jurnalului de tranzacții la dimensiunea necesară și pentru a elimina paginile neutilizate, trebuie să utilizați operațiunea DBCC SHRINKFILE. Instrucțiunea DBCC SHRINKFILE Transact-SQL poate micșora doar partea inactivă în interiorul fișierului jurnalului.

Notă Numai instrucțiunea DBCC SHRINKFILE Transact-SQL nu poate trunchia jurnalul și micșora spațiul utilizat în interiorul fișierului jurnalului.

Pentru mai multe informații despre micșorarea fișierelor jurnalelor de tranzacții, consultați subiectele următoare în SQL Server Books Online:
  • Micșorarea jurnalului de tranzacții
  • DBCC SHRINKFILE
Pentru informa?ii suplimentare despre cum se micșorează fișierele jurnalelor de tranzacții în SQL Server 2000, face?i clic pe următorul număr de articol pentru a vedea articolul în Baza de cuno?tin?e Microsoft:
272318 Mic?orarea jurnalului de tranzac?ii în SQL Server 2000 cu DBCC SHRINKFILE (Poate fi în engleză)
Pentru informații suplimentare despre problemele ce pot apărea la micșorarea fișierelor jurnalelor de tranzacții, faceți clic pe următoarele numere de articole pentru a vedea articolele în Baza de cunoștințe Microsoft:
814574 PRB: Mesaj de eroare: „Imposibil de micșorat fișierul jurnalului..." apare atunci când micșorați fișierul jurnalului de tranzacții (Poate fi în engleză)
324432 PRB: Comenzile DBCC SHRINKFILE și SHRINKDATABASE pot să nu funcționeze din cauza textului populat extins, a tipului de text ntext sau a coloanelor imagine (Poate fi în engleză)

Prevenirea măririi neașteptate a fișierelor jurnalelor de tranzacții

Pentru a preveni mărirea neașteptată a fișierelor jurnalelor de tranzacții, luați în considerare utilizarea uneia dintre metodele următoare:
  • Setați dimensiunea fișierelor jurnalelor de tranzacții la o valoarea mai mare pentru a evita extinderea automată a fișierelor jurnalelor de tranzacții.
  • Configurați extinderea automată a fișierelor jurnalelor de tranzacții utilizând unitățile de memorie în locul unui procentaj după evaluarea dimensiunii optime a memoriei.

    Pentru informații suplimentare despre problemele de luat în considerare la configurarea opțiunii de mărire automată, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
    315512 Considerații pentru configurarea măririi automate și micșorării automate
  • Modificați modelul de recuperare. Dacă are loc un dezastru sau deteriorarea datelor, trebuie să recuperați baza de date astfel încât să se mențină consistența datelor și integritatea tranzacțională. În funcție de cât de importante sunt datele din baza de date, puteți utiliza unul dintre modelele de recuperare următoare pentru a stabili modul în care se efectuează copierea de rezervă a datelor și câte date s-au pierdut:
    • Modelul de recuperare simplă
    • Modelul de recuperare completă
    • Modelul de recuperare masivă cu înregistrare în jurnal
    Utilizând modelul de recuperare simplă, puteți recupera baza de date din cea mai recentă copie de rezervă a bazei de date. Utilizând modelul de recuperare completă sau modelul de recuperare masivă cu înregistrare în jurnal, puteți recupera baza de date de la momentul apariției erorii prin restaurarea bazei de date cu copiile de rezervă ale fișierelor jurnalelor de tranzacții.

    În mod implicit, în SQL Server 2000 și SQL Server 2005, modelul de recuperare pentru baza de date a serverului SQL este setat la Model de recuperare completă. Cu modelul de recuperare completă, copierile de rezervă regulate ale jurnalului de tranzacții se utilizează pentru a preveni mărirea peste limite a fișierelor jurnalelor de tranzacții în bazele de date. Totuși, dacă nu se efectuează copieri de rezervă regulate ale jurnalului de tranzacții, fișierul jurnalului de tranzacții se mărește până la umplerea discului și nu veți mai putea efectua nicio operațiune de modificare a datelor în baza de date a serverului SQL.

    Puteți schimba modelul de recuperare de la completă la simplă dacă nu doriți să utilizați fișierele jurnalului de tranzacții în timpul unei operațiuni de recuperare în urma unui dezastru.
  • Efectuați regulat copierea de rezervă a fișierelor jurnalelor de tranzacții pentru a șterge tranzac?iile inactive din jurnalul de tranzacții.
  • Concepeți tranzac?iile la o dimensiune mică.
  • Asigurați-vă că nu există tranzac?ii nevalidate care se execută în continuare pe o durată nedeterminată.
  • Planificați efectuarea zilnică a opțiunii Actualizare statistici.
  • Pentru a defragmenta indexurile cu scopul de a obține performanța de încărcare în mediul dvs. de lucru, utilizați instrucțiunea DBCC INDEXDEFRAG Transact-SQL în locul instrucțiunii DBCC DBREINDEX Transact-SQL. Dacă executați instrucțiunea DBCC DBREINDEX, jurnalul de tranzacții se poate extinde semnificativ atunci când baza de date a serverului SQL este în modul Recuperare completă. În plus, instrucțiunea DBCC INDEXDEGRAG nu menține blocările pentru o durată lungă, spre deosebire de instrucțiunea DBCC DBREINDEX.

    Pentru informații suplimentare despre defragmentarea indexurilor în SQL Server 2000, consultați următorul site Web Microsoft:
    Cele mai bune practici pentru defragmentarea indexurilor în Microsoft SQL Server 2000
    Dacă trebuie să executați instrucțiunea DBCC DBREINDEX ca operațiune care face parte din planul de întreținere a bazei de date, trebuie să împărțiți operațiunea în mai multe operațiuni. În plus, trebuie să efectuați copierile de rezervă frecvente ale jurnalelor de tranzacții între executarea operațiunilor.

Mai multe informații despre fișierele jurnalelor de tranzacții

În SQL Server 2000 și SQL Server 2005, fiecare bază de date conține cel puțin un fișier de date și un fișier al jurnalului de tranzacții. Serverul SQL stochează datele fizic în fișierul de date. Fișierul jurnalului de tranzacții stochează detaliile tuturor modificărilor efectuate în baza de date a serverului SQL și detaliile tranzacțiilor care au efectuat fiecare modificare. Deoarece integritatea tranzacțională este considerată o caracteristică fundamentală și intrinsecă a serverului SQL, înregistrarea în jurnal a detaliilor tranzacțiilor nu se poate dezactiva pe serverul SQL.

Fișierul jurnalului de tranzacții este împăr?it logic în segmente mai mici, care sunt denumite fișierele de jurnal virtuale. În SQL Server 2000, aveți posibilitatea să configurați fișierul jurnalului de tranzacții pentru a se extinde după necesități. Extinderea jurnalului de tranzacții poate fi decisă de utilizator sau se poate configura pentru a utiliza întregul spațiu disponibil pe disc. Orice modificare adusă de serverul SQL dimensiunii fișierului jurnalului de tranzacții, cum ar fi trunchierea sau mărirea fișierelor jurnalelor de tranzacții, se efectuează în unități ale fișierelor jurnalelor virtuale.

Dacă fișierul jurnalului de tranzacții care corespunde unui baze de date a serverului SQL este plin și ați setat opțiunea de creștere automată a fișierului jurnalului de tranzacții, acesta se mărește în unități ale fișierelor jurnalelor virtuale. Uneori, fișierul jurnalului de tranzacții poate deveni foarte mare și este posibil să rămâneți fără spațiu pe disc. Dacă fișierul jurnalului de tranzacții crește până când utilizează întregul spațiu disponibil pe disc și nu-l puteți extinde mai mult, nu mai puteți efectua nicio operațiune de modificare a datelor în baza de date. În plus, serverul SQL poate marca baza de date ca fiind suspectă din lipsa spațiului pentru extinderea jurnalului de tranzacții.

Pentru informații suplimentare despre situațiile care pot duce la mărirea neașteptată a fișierului jurnalului de tranzacții, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
317375 Jurnalul de tranzacții se mărește în mod neașteptat sau devine plin pe serverul SQL (Poate fi în engleză)

REFERINȚE

Pentru informații suplimentare despre depanarea cerinței de spațiu suplimentar pe disc în timpul procesului de recuperare, consultați subiectul „Spa?iu de disc insuficient” în SQL Server Books Online. Pentru informații suplimentare despre arhitectura jurnalului de tranzacții, consultați următoarele subiecte în SQL Server Books Online:
  • Arhitectura jurnalului de tranzacții
  • Arhitectura logică a jurnalului de tranzacții
  • Arhitectura fizică a jurnalului de tranzac?ii
Pentru informații suplimentare despre modelele de recuperare în SQL Server 2000, consultați subiectele următoare în SQL Server Books Online:
  • Selectați un model de recuperare
  • Recuperare simplă
  • Recuperare completă
  • Recuperare masivă cu înregistrare în jurnal
  • Comutare între modelele de recuperare

Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Proprietă?i

ID articol: 873235 - Ultima examinare: 29 februarie 2012 - Revizie: 1.0
SE APLICĂ LA:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Cuvinte cheie: 
kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235

Trimite?i feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com