Momentan sunteți offline, așteptați să vă reconectați la internet

Operațiuni de baze acoperire de date dura mult marcă de timp pentru a termina sau se declanșează erori când Jurnalul de tranzacții a fișierelor jurnalelor virtuale numeroase

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2028436
Simptome
Într-un mediu de SQL Server 2008, este posibil să întâmpinați următoarele simptome:
  • Unul sau mai multe baze acoperire de date dura foarte mult marcă de timp pentru a termina de recuperare în timpul pornirii SQL Server.
  • Atunci când efectuați restaurarea unei baze acoperire de date, durează foarte mult marcă de timp pentru a finaliza.
  • Încercări pentru a atașa o bază acoperire de date dura foarte mult marcă de timp pentru a termina.
  • Când încercați să configurați oglindirea bazei acoperire de date, întâlniți 1413, 1443 și 1479, mesaje de eroare care indică o expirare.
  • Întâmpinați erori legate de memorie, cum ar fi 701 atunci când încercați să restabiliți o bază acoperire de date.

Când examinați Jurnalul de erori de Server SQL, observați că o cantitate însemnată de marcă de timp este petrecut înainte de faza de analiză a procesului de recuperare acoperire de date.
2010-05-08 14:42:38.65 spid22s pornirea bazei acoperire de date 'lot_of_vlfs'.
2010-05-08 14:46:04.76 spid22s analiză acoperire de date 'lot_of_vlfs' (16) este 0% complet (aproximativ 0 secunde rămâne). Faza 1 din 3. Acesta este un mesaj informativ numai. Nu este necesară nicio acțiune de utilizator.

Cauză
Etapele inițiale a procesului de recuperare a bazei acoperire de date SQL Server efectuează o descoperire a tuturor Virtual fișierele jurnal în toate fișierele jurnal de tranzacții. O listă a tuturor fișierelor de jurnal virtuale este încorporată. Acest proces poate dura foarte mult marcă de timp, în funcție de numărul de fișiere jurnal virtuale prezentă în baza acoperire de date specifice. O bază acoperire de date poate termina cu un număr mare de fișiere jurnal virtuale dacă întâlniri Jurnalul de tranzacții frecvente auto-să crească cu creștere întâmplă pentru incremente de dimensiuni foarte mici.

În mod normal, porniți se confruntă cu probleme menţionate în secţiunea "Simptome" când numărul de fișiere jurnal virtuale se află în intervalul de câteva sute de mii.
Rezoluţie
Utilizați metodele de la următorul blog pentru a găsi numărul de fișiere jurnal virtuale într-o anumită bază de date:
Cum o structură de fișiere de jurnal pot afecta timpul de recuperare acoperire de date

Poate fi necesar să păstrați numărul total de fișiere jurnal virtuale sub un anumit număr, cum ar fi 10.000.

Aveți posibilitatea să reconfigurați fișierului jurnalului de tranzacții pentru a conține numai un număr limitat de fișiere jurnal virtuale utilizând următoarele metode:
  1. Micșorează fișierele jurnalelor de tranzacții, să crească fișierele la dimensiunile necesare manual utilizând TSQL ALTER DATABASE <database name="">modificați fișierul (NAME = 'nume de fișier logic de tranzacții log', dimensiunea = <required size="">)</required> </database>
  2. Regenerați fișierul jurnalului de tranzacții și apoi să crească manual fișierele jurnalelor de tranzacții la dimensiunile necesare:
    1. Dacă baza acoperire de date a fost închis anterior curat (cu utilizatorii sau deschidere tranzacțiilor), utilizați opțiunea ATTACH_REBUILD_LOG pentru a crea baze acoperire de date pentru a crea un nou fișier jurnal de tranzacții.
    2. Dacă o bază acoperire de date de citire/scriere are un singur log file care este indisponibil în acest moment, şi dacă baza acoperire de date a fost închis curăţaţi [cu utilizatorii sau tranzacții deschidere] înainte de operațiunea de atașare, pentru a ATAȘA opțiunea de a crea baze acoperire de date automat generează fișierul jurnal și actualizează fișierul principal.

După ce reconfigurați structura fișierului jurnalului de tranzacții, examinați și efectuați modificări necesare pentru auto-creșterea setările pentru fișierul jurnalului de tranzacții pentru a evita se confruntă cu aceeași problemă în viitor.

Notă Înainte de a efectua oricare dintre aceste operațiuni, asigurați-vă că aveți o copiere de rezervă validă restorable în cazul în care întâmpinaţi unele probleme mai târziu.

2524743 FIX: Recuperare durează mai mult decât se așteaptă pentru o bază acoperire de date a SQL Server 2008 sau într-un mediu de SQL Server 2008 R2

2455009 Remediere: O funcționare lentă atunci când vă recupera o bază acoperire de date dacă există multe VLFs în Jurnalul de tranzacții în SQL Server 2005, SQL Server 2008 sau în SQL Server 2008 R2

2653893 Remediere: Durează mult marcă de timp pentru a restaura o bază acoperire de date în SQL Server 2008 R2

979042 Remediere: Principale ale bazei acoperire de date este recuperat dacă baza acoperire de date are un număr mare de fișiere jurnal virtuale în SQL Server 2005 sau SQL Server 2008

2882905 Un mesaj informativ 9017 este înregistrat atunci când porniți o instanță de SQL Server sau restaurarea sau atașa o bază acoperire de date

Informaţii suplimentare
Pentru informații complete despre fișierele jurnal virtuale, consultați următorul subiect Books Online: Arhitectura fizică jurnalului de tranzacții

Pentru mai multe informații despre această problemă, consultați următoarele:

Cum o structură de fișiere de jurnal pot afecta timpul de recuperare acoperire de date
Jurnalul de tranzacții VLFs - prea multe sau prea multe?
1413 eroare la pornirea oglindirea bazei acoperire de date – cât de multe fișiere de jurnal virtuale este prea multe?

De asemenea, aveți în vedere o problemă cunoscută cu mărirea jurnalele de tranzacții:

2633151 Fișierul jurnalului de tranzacții SQL Server bază acoperire de date nu creşte valoarea creşterea fișier configurat

Notă Aflați despre o modificare importante pentru crearea VLF algoritmul în SQL Server 2014:


Pentru mai multe informații despre produse sau instrumente care verifică automat pentru această condiție de instanță de SQL Server și versiunile de produs de SQL Server, consultați următorul tabel:

Software regulăTitlu regulăDescriere regulăVersiunile de produs care regula este evaluată
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)




Baze acoperire de date cu numărul mare de VLF prezente





SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) oferă o regulă pentru detectarea situațiilor în care bazele acoperire de date conține un număr mare de fișiere jurnal virtuale. SQL Server 2008 R2 BPA acceptă SQL Server 2008 și SQL Server 2008 R2.

Dacă executați instrumentul BPA și întâlniți o eroare cu titlul Database Engine - baze acoperire de date cu numărul mare de VLF prezentă, apoi trebuie să verificați dacă numărul de fișiere de jurnal virtuale pentru baza acoperire de date afectate și să reconfigurați fișierele jurnalelor de tranzacții.
SQL Server 2008
SQL Server 2008 R2






SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA)



Baze acoperire de date cu numărul mare de VLF prezente




SQL Server 2012 Best Practice Analyzer (SQL Server 2012 BPA) oferă o regulă pentru detectarea situațiilor în care bazele acoperire de date conține un număr mare de fișiere jurnal virtuale.

Dacă executați instrumentul BPA și întâlniți o eroare cu titlul Database Engine - baze acoperire de date cu numărul mare de VLF prezentă, apoi trebuie să verificați dacă numărul de fișiere de jurnal virtuale pentru baza acoperire de date afectate și să reconfigurați fișierele jurnalelor de tranzacții.
SQL Server 2012








Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2028436 - Ultima examinare: 08/07/2015 03:43:00 - Revizie: 6.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbmt KB2028436 KbMtro
Feedback
&t=">