KB2634571 – poboljšanja naredbe DBCC CHECKDB mogu rezultirati bržim performansama kada koristite mogućnost PHYSICAL_ONLY

Primjenjuje se na
SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard SQL Server 2008 R2 Standard Edition for Small Business SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Service Pack 3 SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Web SQL Server 2008 Workgroup SQL Server 2008 Service Pack 2 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Enterprise Core SQL Server 2012 Express SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core

Microsoft distribuira popravke za Microsoft SQL Server 2008 R2, SQL Server 2008 R2 SP1 i SQL Server 2008 kao jednu datoteku koja se može preuzeti. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjima popravaka sustava SQL Server 2008 R2, SQL Server 2008 R2 SP1 i SQL Server 2008.

Uvod

Naredba DBCC CHECKDB uravnotežuje potrebu za performansama i resursima. Zbog toga prema zadanom naredba DBCC CHECKDB možda neće maksimizirati korištenje resursa kada se pokreću provjere dosljednosti baze podataka.

Na primjer, naredba DBCC CHECKDB možda neće maksimizirati korištenje ulaza/izlaza diska kada se pokreću provjere dosljednosti za bazu podataka.

Rješenje

Kumulativni podaci o ažuriranju

SQL Server 2008 Service Pack 2

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 9 za SQL Server 2008 Service Pack 2. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem

2673382 Paket kumulativnog ažuriranja 9 za SQL Server 2008 Service Pack 2

                 Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Dodatne informacije potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2402659 Međuverzije SQL Server 2008 koje su izdane nakon objave servisnog paketa SQL Server 2008 Service Pack 2

Microsoft SQL Server 2008 hitni popravci stvaraju se za određene servisne pakete za SQL Server. Na instalaciju servisnog paketa SQL Server 2008 Service Pack 2 morate primijeniti hitni popravak za SQL Server 2008 Service Pack 2. Prema zadanim postavkama svi hitni popravci koji se nalaze u servisnom paketu za SQL Server uvrštavaju se u sljedeći servisni paket za SQL Server.

SQL Server 2008 Service Pack 3

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 4 za SQL Server 2008 Service Pack 3. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u sljedećem članku u Microsoftovoj bazi znanja:

2673383 Paket kumulativnog ažuriranja 4 za SQL Server 2008 Service Pack 3

                 Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008. Microsoft preporučuje da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Dodatne informacije potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2629969 Međuverzije SQL Server 2008 koje su izdane nakon izdanja servisnog paketa SQL Server 2008 Service Pack 3

Microsoft SQL Server 2008 hitni popravci stvaraju se za određene servisne pakete za SQL Server. Na instalaciju servisnog paketa SQL Server 2008 Service Pack 3 morate primijeniti hitni popravak za SQL Server 2008 Service Pack 3. Prema zadanim postavkama svi hitni popravci koji se nalaze u servisnom paketu za SQL Server uvrštavaju se u sljedeći servisni paket za SQL Server.

Paket kumulativnog ažuriranja 11 za SQL Server 2008 R2

Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 11. Dodatne informacije o nabavi tog paketa kumulativnog ažuriranja za SQL Server 2008 R2 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2633145 Paket kumulativnog ažuriranja 11 za SQL Server 2008 R2

                 Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim izdanjem popravka za SQL Server 2008 R2. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Dodatne informacije potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

981356 međuverzije SQL Server 2008 R2 koje su izdane nakon izdanja sustava SQL Server 2008 R2

Paket kumulativnog ažuriranja 4 za SQL Server 2008 R2 SP1

Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 4. Dodatne informacije o nabavi tog paketa kumulativnog ažuriranja za SQL Server 2008 R2 SP1 potražite u članku iz Microsoftove baze znanja pod brojem

2633146 Paket kumulativnog ažuriranja 4 za SQL Server 2008 R2 SP1

                 Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008 R2 SP1. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Dodatne informacije potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2567616 međuverzije SQL Server 2008 R2 izdane nakon izdanja sustava SQL Server 2008 R2 SP1

SQL Server 2012

SQL Server 2012 sadrži promjene koda za te popravke. Obje oznake praćenja 2562 i 2549 opisane u nastavku odnose se i na SQL Server 2012. No rješenje za smanjenje sporova na zasunu DBCC_MULTIOBJECT_SCANNER ne zahtijeva oznaku praćenja 2562 u programu SQL Server 2012. Te su promjene po zadanom uključene u SQL Server 2012.

Dodatne informacije

Ovo kumulativno ažuriranje uvodi dvije zastavice praćenja radi boljeg maksimiziranja korištenja resursa ulaza/izlaza diska kada korisnik izvrši naredbu DBCC CHECKDB . Iako su ta poboljšanja usmjerena samo na PHYSICAL_ONLY mogućnost, mogu i poboljšati ukupnu izvedbu naredbi DBCC CHECKDB koje ne koriste tu mogućnost PHYSICAL_ONLY .

Prati zastavicu 2562

Ta zastavica praćenja obuhvaća sljedeće promjene:

  • Pokrenite naredbu DBCC CHECKDB u jednoj "seriji" bez obzira na broj indeksa u bazi podataka. Prema zadanim postavkama, naredba DBCC CHECKDB pokušava minimizirati resurse tempdb ograničavanjem broja indeksa ili "činjenica" koje generira pomoću koncepta "grupa". Ova oznaka praćenja prisiljava svu obradu u jednu grupu.
  • poboljšanje interne obrade radi određivanja stranica iz baze podataka koje će se čitati. To smanjuje nadmetanje na zasunu DBCC_MULTIOBJECT_SCANNER .

Jedan od učinaka korištenja te zastavice praćenja jest povećanje uvjeta prostora za stavku tempdb . Tempdb može narasti do 5 % ili više korisničke baze podataka koja se obrađuje naredbom DBCC CHECKDB . Zato preporučujemo da prilikom korištenja te zastavice praćenja dodate veličinu baze podataka da biste izbjegli automatski rast jer bi se time moglo usporiti performanse naredbe DBCC CHECKDB .

Napomena Zastavica praćenja 2562 jest zastavica praćenja na razini sesije. Možete ga omogućiti na razini sesije.

Prati zastavicu 2549

Naredba DBCC CHECKDB sastavlja interni popis stranica koje će se čitati po jedinstvenom diskovnom pogonu u svim datotekama baza podataka. Ta logika određuje jedinstvene diskovne pogone na temelju slova pogona naziva fizičke datoteke svake datoteke. Ako su pozadinski diskovi doista jedinstveni, kada je riječ o slovima pogona ili ne, naredba DBCC CHECKDB tretirat će ih kao jedan disk. Kada je ova zastavica praćenja omogućena, pretpostavlja se da se svaka datoteka baze podataka nalazi na jedinstvenom diskovnom pogonu. Nemojte koristiti tu zastavicu praćenja ako ne znate da se svaka datoteka temelji na jedinstvenom fizičkom disku.

Napomena Oznaka praćenja 2549 globalna je oznaka praćenja. Da biste ga omogućili, morate ga koristiti kao parametar pokretanja ili koristiti DBCC TRACEON (2549,-1).

Iako te oznake praćenja poboljšavaju performanse DBCC CHECKDB naredbi koje ciljaju korištenje mogućnosti DBCC CHECKDB , neki korisnici možda neće primijetiti nikakvo poboljšanje performansi. Iako te zastavice praćenja poboljšavaju upotrebu ulaza/izlaza diska, temeljne performanse diskovnih resursa mogu ograničiti ukupnu izvedbu naredbe DBCC CHECKDB .

Imajte na umu sljedeća ograničenja:

  • Poboljšanja performansi nisu osmišljena za poboljšanje performansi kada koristite mogućnost popravka .
    Na primjer, poboljšanja performansi nisu osmišljena za poboljšanje performansi kada koristite mogućnost REPAIR_ALLOW_DATA_LOSS .
  • Poboljšanja ne utječu na naredbu DBCC CHECKALLOC .
  • Poboljšanja bi mogla poboljšati performanse naredbe DBCC CHECKTABLE za indekse s mnogo stranica. No poboljšanja nisu usmjerena na poboljšanje performansi naredbe DBCC CHECKTABLE .

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.