KB2634571-verbeteringen voor de DBCC CHECKDB-opdracht kunnen leiden tot snellere prestaties wanneer u de optie PHYSICAL_ONLY gebruikt

Van toepassing: SQL Server 2008 R2 DatacenterSQL Server 2008 R2 DeveloperSQL Server 2008 R2 Enterprise

Microsoft distribueert Microsoft SQL Server 2008 R2, SQL Server 2008 R2 SP1 en SQL Server 2008-oplossingen als één downloadbaar bestand. Aangezien de fixes cumulatief zijn, bevat elke nieuwe versie alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige SQL Server 2008 R2-versie, SQL Server 2008 R2 SP1 en SQL Server 2008 fix release.

Inleiding

Met de opdracht DBCC CHECKDB wordt de behoefte van de prestaties en bronnen evenwichtig. Daarom kan de opdracht DBCC CHECKDB met behulp van de opdracht DBCC CHECKDB mogelijk geen Resourcegebruik maximaliseren wanneer de consistentiecontroles voor een database worden uitgevoerd.Als u bijvoorbeeld de opdracht DBCC CHECKDB uitvoert, is het mogelijk dat schijf I/O-gebruik niet wordt gemaximaliseerd wanneer consistentiecontroles voor een database worden uitgevoerd.

Oplossing


Cumulatieve updategegevens

SQL Server 2008 Service Pack 2

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 9 voor SQL Server 2008 Service Pack 2. Klik voor meer informatie over dit cumulatieve updatepakket op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:

2673382 Cumulatief updatepakket 9 voor SQL Server 2008 Service Pack 2

Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 fix. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie:

2402659 De versies van SQL Server 2008 die na SQL Server 2008 Service Pack 2 zijn uitgebracht

Hotfixes voor Microsoft SQL Server 2008 worden gemaakt voor specifieke SQL Server-servicepakketten. U moet een hotfix voor SQL Server 2008 Service Pack 2 toepassen op een installatie van SQL Server 2008 Service Pack 2. Standaard is de hotfix van een SQL Server-servicepakket opgenomen in het volgende SQL Server-servicepakket.

SQL Server 2008 Service Pack 3

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 4 voor SQL Server 2008 Service Pack 3. Zie het volgende artikel in Microsoft Knowledge Base voor meer informatie over dit cumulatieve updatepakket:

2673383 Cumulatief updatepakket 4 voor SQL Server 2008 Service Pack 3

Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 fix. Microsoft raadt u aan dat u de meest recente reparatie versie met deze hotfix toepast. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie:

2629969 De versies van SQL Server 2008 die na SQL Server 2008 Service Pack 3 zijn uitgebracht

Hotfixes voor Microsoft SQL Server 2008 worden gemaakt voor specifieke SQL Server-servicepakketten. U moet een hotfix SQL Server 2008 Service Pack 3 toepassen op een installatie van SQL Server 2008 Service Pack 3. Standaard is de hotfix van een SQL Server-servicepakket opgenomen in het volgende SQL Server-servicepakket.

Cumulatief updatepakket 11 voor SQL Server 2008 R2

De oplossing voor dit probleem werd voor het eerst uitgebracht in cumulatieve update 11. Zie het volgende artikel in de Microsoft Knowledge Base voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2:

2633145 Cumulatief updatepakket 11 voor SQL Server 2008 R2

Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 correctie. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie:

981356 De SQL Server 2008 R2-builds die zijn uitgebracht nadat SQL Server 2008 R2 werd uitgebracht

Cumulatief updatepakket 4 voor SQL Server 2008 R2 SP1

De oplossing voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 4. Zie het volgende artikel in de Microsoft Knowledge Base voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 SP1:

2633146 Cumulatief updatepakket 4 voor SQL Server 2008 R2 SP1

Opmerking Aangezien de builds cumulatief zijn, bevat elke nieuwe correctie release alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige versie van SQL Server 2008 R2 SP1. U wordt aangeraden om de meest recente correctie voor deze hotfix toe te passen. Raadpleeg het volgende artikel in de Microsoft Knowledge Base voor meer informatie:

2567616 De SQL Server 2008 R2-builds die zijn uitgebracht na de release van SQL Server 2008 R2 SP1

SQL Server 2012

SQL Server 2012 bevat de codewijzigingen voor deze oplossingen. Beide tracerings vlaggen 2562 en 2549 zoals hieronder beschreven, zijn ook van toepassing op SQL Server 2012. De oplossing om de inhoud van de DBCC_MULTIOBJECT_SCANNER slot te verminderen, vereist geen traceringsvlag 2562 in SQL Server 2012. Deze wijzigingen zijn standaard opgenomen in SQL Server 2012.

Meer informatie


Met deze cumulatieve update worden twee tracerings vlaggen geïntroduceerd voor betere prestaties van schijf-I/O-bronnengebruik wanneer een gebruiker de DBCC CHECKDB -opdracht uitvoert. Hoewel in deze verbeteringen slechts de optie PHYSICAL_ONLY  is, kunnen ze ook de algehele prestaties van de DBCC CHECKDB -opdrachten verbeteren die de PHYSICAL_ONLY optie niet gebruiken.Traceringsvlag 2562Deze traceringsvlag bevat de volgende wijzigingen: 
  • Voer de opdracht DBCC CHECKDB uit in één ' batch ', ongeacht het aantal indexen in de database. Met de opdracht DBCC CHECKDB probeert u de tempdb -bronnen standaard te minimaliseren door het aantal indexen of feiten te beperken dat wordt gegenereerd met behulp van het concept ' batches '. Deze traceringsvlag zorgt voor verwerking tot één batch.
  • De interne verwerking verbeteren om te bepalen welke pagina's uit de database moeten worden gelezen. Hiermee wordt de inhoud van de DBCC_MULTIOBJECT_SCANNERslot beperkt.
Een effect van het gebruik van deze traceringsvlag is dat de ruimtevereisten voor tempdb  toenemen. Tempdb  kan tot maximaal 5 procent of meer van de gebruikersdatabase lopen die wordt verwerkt door de DBCC CHECKDB -opdracht. Daarom raden we u  aan om te zorgen voor een database van minimaal 5 procent van de grootte van de database wanneer u deze traceringsvlag gebruikt om automatische groei te voorkomen, waardoor de werking van de DBCC CHECKDB -opdracht kan worden vertraagd.Opmerking Traceringsvlag 2562 is een traceringsvlag op sessie niveau. U kunt deze op elk gewenst moment instellen op sessie niveau.Traceringsvlag 2549Met de opdracht DBCC CHECKDB wordt een interne lijst met pagina's samengesteld voor het lezen van de afzonderlijke schijfstations in alle databasebestanden. Deze logica bepaalt unieke schijfstations op basis van de naam van het fysieke bestand van elk bestand. Als de onderliggende schijven werkelijk uniek zijn wanneer u de stationsaanduidingen gebruikt of niet, wordt de opdracht DBCC CHECKDB als één schijf beschouwd. Wanneer deze traceringsvlag is ingeschakeld, wordt elk databasebestand uitgegaand op een uniek schijfstation. Gebruik deze traceringsvlag niet tenzij u weet dat elk bestand is gebaseerd op een unieke fysieke schijf.Opmerking Traceringsvlag 2549 is een globale traceringsvlag. Als u deze optie wilt inschakelen, moet u deze gebruiken als opstartparameter of DBCC TRACEON (2549,-1).Hoewel deze tracerings vlaggen de prestaties van de DBCC CHECKDB -opdrachten voor de doeltoepassing van de optie DBCC CHECKDBverbeteren   , kunnen sommige gebruikers mogelijk geen verbeteringen in de prestaties zien. Hoewel deze tracerings vlaggen de bronnen voor I/O van schijven verbeteren, kunnen de algehele prestaties van de schijfbronnen de algehele prestaties van de DBCC CHECKDB -opdracht beperken.Let op de volgende beperkingen:
  • De prestatieverbeteringen zijn niet ontworpen om de prestaties te verbeteren wanneer u de optie herstellengebruikt. De prestatieverbeteringen zijn bijvoorbeeld niet bedoeld om de prestaties te verbeteren wanneer u de optie REPAIR_ALLOW_DATA_LOSSgebruikt.
  • De verbeteringen hebben geen invloed op de DBCC CHECKALLOC-opdracht.
  • Met de verbeteringen kan de werking van de DBCC CHECKTABLE-opdracht voor indexen met veel pagina's worden verbeterd. De verbeteringen zijn echter niet van doel om de prestaties van de opdracht DBCC CHECKTABLE te verbeteren.

Status


Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.