Îmbunătățiri pentru comanda DBCC CHECKDB poate avea ca rezultat mai rapidă atunci când utilizați opțiunea PHYSICAL_ONLY

Se aplică la: SQL Server 2008 R2 DatacenterSQL Server 2008 R2 DeveloperSQL Server 2008 R2 Enterprise

Microsoft distribuie Microsoft SQL Server 2008 R2, SQL Server 2008 R2 SP1, și SQL Server 2008 remediază ca un fișier descărcabil. Deoarece remedierile sunt cumulative, fiecare lansare nouă conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 R2, SQL Server 2008 R2 SP1 și SQL Server 2008 lansată.

Introducere (articolul poate să fie în limba engleză)

Comanda DBCC CHECKDB soldurile nevoia între performanţa şi resurse. De aceea, în mod implicit, comanda DBCC CHECKDB nu poate maximiza utilizarea resurselor când consistența caută o bază de date se execută.De exemplu, comanda DBCC CHECKDB poate maximiza utilizare disc I/O când se execută verificări ale consistenţei pentru o bază de date.

Rezolvare


Informații despre actualizarea cumulativă

SQL Server 2008 Service Pack 2

Remedierea pentru această problemă a fost lansat mai întâi în 9 actualizare cumulativă pentru SQL Server 2008 Service Pack 2. Pentru mai multe informații despre acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:

2673382 Pachetul de actualizare cumulativă 9 pentru SQL Server 2008 Service Pack 2

Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 lansată. Vă recomandăm să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informații, consultați următorul articol din Baza de cunoștințe Microsoft:

2402659 Compilările SQL Server 2008 lansate după lansarea SQL Server 2008 Service Pack 2

Microsoft SQL Server 2008 remedierile rapide sunt create pentru specifice SQL Server service pack. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 2 pentru o instalare de SQL Server 2008 Service Pack 2. În mod implicit, orice remediere rapidă care este furnizat într-un SQL Server service pack este inclus în următorul SQL Server service pack.

SQL Server 2008 Service Pack 3

Remedierea pentru această problemă a fost lansată prima dată în 4 de actualizare cumulativă pentru SQL Server 2008 Service Pack 3. Pentru mai multe informații despre acest pachet de actualizare cumulativă, consultaţi următorul articol din baza de cunoștințe Microsoft:

2673383 Pachetul de actualizare cumulativă 4 pentru SQL Server 2008 Service Pack 3

Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 lansată. Microsoft recomandă să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informații, consultați următorul articol din Baza de cunoștințe Microsoft:

2629969 Compilările SQL Server 2008 lansate după lansarea SQL Server 2008 Service Pack 3

Microsoft SQL Server 2008 remedierile rapide sunt create pentru specifice SQL Server service pack. Trebuie să aplicați o remediere rapidă SQL Server 2008 Service Pack 3 pentru o instalare de SQL Server 2008 Service Pack 3. În mod implicit, orice remediere rapidă care este furnizat într-un SQL Server service pack este inclus în următorul SQL Server service pack.

Pachetul de actualizare cumulativă 11 pentru SQL Server 2008 R2

Remedierea pentru această problemă a fost lansată prima dată în 11 actualizare cumulativă. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2, consultaţi următorul articol din baza de cunoștințe Microsoft:

2633145 Pachetul de actualizare cumulativă 11 pentru SQL Server 2008 R2

Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 R2 lansată. Vă recomandăm să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informații, consultați următorul articol din Baza de cunoștințe Microsoft:

981356 SQL Server 2008 R2 se bazează pe care au fost lansate după lansarea SQL Server 2008 R2

Pachetul de actualizare cumulativă 4 pentru SQL Server 2008 R2 SP1

Remedierea pentru această problemă a fost lansată prima dată în 4 de actualizare cumulativă. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă pentru SQL Server 2008 R2 SP1, consultaţi următorul articol din baza de cunoștințe Microsoft:

2633146 Pachetul de actualizare cumulativă 4 pentru SQL Server 2008 R2 SP1

Notă Deoarece compilările sunt cumulative, fiecare nouă lansare de remediere conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în anterioare SQL Server 2008 R2 SP1 lansată. Vă recomandăm să luaţi în considerare aplicarea celei mai recente lansări de remediere care conține această remediere rapidă. Pentru mai multe informații, consultați următorul articol din Baza de cunoștințe Microsoft:

2567616 SQL Server 2008 R2 se bazează pe care au fost lansate după lansarea SQL Server 2008 R2 SP1

SQL Server 2012

SQL Server 2012 conține modificări de cod pentru aceste remedieri. Ambele semnalizatorul de urmărire 2562 și 2549 așa cum se descrie mai jos, de asemenea, se aplică pentru SQL Server 2012. Cu toate acestea, remedierea pentru a reduce probleme privind împărțirea pe dispozitivul de blocare DBCC_MULTIOBJECT_SCANNER nu necesită semnalizatorul de urmărire 2562 în SQL Server 2012. Aceste modificări au fost incluse în mod implicit în SQL Server 2012.

Mai multe informații


Această actualizare cumulativă introduce două semnalizatoarele de urmărire pentru a maximiza mai bine disk I/O utilizare resurse atunci când un utilizator execută comanda DBCC CHECKDB . Deși aceste îmbunătățiri ținti numai PHYSICAL_ONLY opţiune, ele pot, de asemenea, îmbunătățirea performanței generale dintre comenzile DBCC CHECKDB care nu utilizează opțiunea PHYSICAL_ONLY .Semnalizatorul de urmărire 2562Această semnalizare de urmărire include următoarele modificări: 
  • Executați comanda DBCC CHECKDB într-o singură "lot", indiferent de numărul de indexuri în baza de date. În mod implicit, comanda DBCC CHECKDB încearcă să minimizați tempdb resurse limitând numărul de indexuri sau "informaţii" pe care le generează prin utilizarea unui concept "loturi". Această semnalizare de urmărire forțează toate procesare într-un singur lot.
  • Îmbunătățiți procesarea intern pentru determinarea paginile de citit din baza de date. Astfel se reduce probleme privind împărțirea pe DBCC_MULTIOBJECT_SCANNERde blocare.
Un efect de folosind această semnalizare de urmărire care este cerințele de spațiu pentru tempdb poate creşte. Tempdb poate crește la mai mult de 5 la sută sau mai mult de date de utilizator care este sunt procesate prin comanda DBCC CHECKDB . De aceea, vă recomandăm că este pre-dimensiunea tempdb la cel puțin 5 la sută din dimensiunea bazei de date atunci când utilizați această semnalizare de urmărire pentru a evita creștere automată, care pot încetini performanța comanda DBCC CHECKDB .Notă Semnalizatorul de urmărire 2562 este un semnalizator de urmărire nivel de sesiune. Aveți posibilitatea să activați-o la nivel de sesiune.Semnalizatorul de urmărire 2549Comanda DBCC CHECKDB se bazează pe o listă internă de pagini pentru a citi per unitate de disc unic prin toate fișierele bazei de date. Această logică determină unic hard disk bazat pe litera de unitate a numelui de fișier fizice de fiecare fișier. Dacă discurile de bază fapt unic când litere de unitate sau nu, comanda DBCC CHECKDB ar trata aceste ca un disc. Când este activată această semnalizare de urmărire, fiecare fișier bază de date se presupune pe o unitate de disc unic. Utilizați această semnalizare de urmărire numai dacă ştiţi că fiecare fișier se bazează pe un disc fizic unic.Notă Semnalizatorul de urmărire 2549 este un semnalizator de urmărire global. Pentru a activa aceasta, trebuie să utilizați-l ca parametru startup sau DBCC TRACEON (2549, -1).Deși aceste semnalizatoare de urmărire a îmbunătăți performanța DBCC CHECKDB comenzi ce target de utilizare a DBCC CHECKDB opţiune, unii utilizatori nu pot vedea orice îmbunătățiri de performanță. În timp ce aceste semnalizatoare de urmărire îmbunătăți utilizare resurse I/O de disc, performanța bază de resurse de disc pot limita performanţa generală a comanda DBCC CHECKDB .Aveți în vedere următoarele restricții:
  • Îmbunătățiri de performanță nu sunt proiectate pentru a îmbunătăți performanța atunci când utilizați reparareaopţiune. De exemplu, îmbunătățiri de performanță nu sunt proiectate pentru a îmbunătăți performanța atunci când utilizați REPAIR_ALLOW_DATA_LOSSopţiune.
  • Îmbunătățirile nu afectează DBCC CHECKALLOCcomandă.
  • Îmbunătățirile pot ajuta la performanțele DBCC CHECKTABLEpentru indexurile cu mai multe pagini. Cu toate acestea, îmbunătățirile nu sunt destinate pentru a îmbunătăți performanța comanda DBCC CHECKTABLE .

Stare


Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.