Verbesserung für den Befehl DBCC CHECKDB führen schneller bei Verwendung die Option PHYSICAL_ONLY

Gilt für: SQL Server 2008 R2 DatacenterSQL Server 2008 R2 DeveloperSQL Server 2008 R2 Enterprise Mehr

Microsoft stellt Microsoft SQL Server 2008 R2, SQL Server 2008 R2 SP1 und SQL Server 2008 als downloadbare Datei behebt. Da die kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2008 R2, SQL Server 2008 R2 SP1 und SQL Server 2008 enthalten waren.

Einführung

Der Befehl DBCC CHECKDB Salden zwischen Leistung und Ressourcen erforderlich. Daher standardmäßig den Befehl DBCC CHECKDB nicht maximiert möglicherweise Ressourcenverbrauch bei Konsistenz einer Datenbank überprüft werden ausgeführt.Der Befehl DBCC CHECKDB kann nicht e/a-Auslastung maximieren Wenn Konsistenz überprüft für eine Datenbank ausgeführt werden.

Lösung


Informationen zum kumulativen Update

SQL Server 2008 Servicepack 2

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 9 für SQL Server 2008 Service Pack 2 veröffentlicht. Für weitere Informationen zu diesem kumulativen Update-Paket, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2673382 Kumulatives Updatepaket 9 für SQL Server 2008 Service Pack 2

Hinweis Da diese Builds kumulativ sind, enthält jede neue Veröffentlichung alle Hotfixes und alle die Sicherheitsupdates, die in den vorherigen SQL Server 2008 Fix-Veröffentlichung enthalten waren. Wir empfehlen Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:

2402659 SQL Server 2008 basiert, die nach der Freigabe von SQL Server 2008 Service Pack 2 veröffentlicht wurden

Microsoft SQL Server 2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen SQL Server 2008 Service Pack 2-Hotfix eine Installation von SQL Server 2008 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird, in einem nächsten Servicepack für SQL Server enthalten.

SQL Server 2008 Servicepack 3

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 4 für SQL Server 2008 Service Pack 3 veröffentlicht. Weitere Informationen zu diesem kumulativen Update-Paket finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2673383 Kumulatives Updatepaket 4 für SQL Server 2008 Service Pack 3

Hinweis Da diese Builds kumulativ sind, enthält jede neue Veröffentlichung alle Hotfixes und alle die Sicherheitsupdates, die in den vorherigen SQL Server 2008 Fix-Veröffentlichung enthalten waren. Microsoft empfiehlt, dass Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:

2629969 SQL Server 2008 builds, die nach der Freigabe von Service Pack 3 für SQL Server 2008

Microsoft SQL Server 2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen SQL Server 2008 Service Pack 3-Hotfix eine Installation von SQL Server 2008 Service Pack 3 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird, in einem nächsten Servicepack für SQL Server enthalten.

Kumulatives Updatepaket 11 für SQL Server 2008 R2

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 11 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket für SQL Server 2008 R2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2633145 Kumulatives Updatepaket 11 für SQL Server 2008 R2

Hinweis Da diese Builds kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2008 R2 enthalten waren. Wir empfehlen Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:

981356 SQL Server 2008 R2 builds, die nach der Freigabe von SQL Server 2008 R2

Kumulatives Updatepaket 4 für SQL Server 2008 R2 SP1

Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 4 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket für SQL Server 2008 R2 SP1 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2633146 Kumulatives Updatepaket 4 für SQL Server 2008 R2 SP1

Hinweis Da diese Builds kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in früheren SQL Server 2008 R2 SP1 enthalten waren. Wir empfehlen Sie prüfen die neueste Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:

2567616 SQL Server 2008 R2 builds, die nach der Freigabe von SQL Server 2008 R2 SP1

SQL Server 2012

SQL Server 2012 enthält diese Updates der Code geändert wird. Beide Ablaufverfolgungsflags 2562 und 2549 gelten wie nachstehend beschrieben auch für SQL Server 2012. Update zu Konflikten auf der DBCC_MULTIOBJECT_SCANNER erfordert jedoch keine Ablaufverfolgungsflags 2562 in SQL Server 2012. Diese Änderungen wurden standardmäßig in SQL Server 2012.

Weitere Informationen


Dieses kumulative Update führt zwei Ablaufverfolgungsflags um Datenträger-e/a-Ressourcenverwendung besser zu maximieren, wenn ein Benutzer den Befehl DBCC CHECKDB ausführt. Obwohl diese Verbesserung nur die PHYSICAL_ONLYZiel Option, können sie auch die allgemeine Leistung der DBCC CHECKDB -Befehle, die nicht mit die Option PHYSICAL_ONLY verbessern.Das Ablaufverfolgungsflag 2562Dieses Ablaufverfolgungsflags umfasst folgende geändert: 
  • Führen Sie den Befehl DBCC CHECKDB in einem "Batch" unabhängig von der Anzahl der Indizes in der Datenbank. DBCC CHECKDB Befehl versucht standardmäßig minimiert die Tempdb durch Beschränken der Anzahl der Indizes oder "Facts", die mit "Stapel" Konzept generiert. Dieses Ablaufverfolgungsflags erzwingt die gesamte Verarbeitung in einem Stapel.
  • Verbessern Sie interner dafür, welche Seiten aus der Datenbank gelesen. Dadurch Konflikte auf DBCC_MULTIOBJECT_SCANNERVerriegelung.
Eine Auswirkung der Verwendung dieses Ablaufverfolgungsflags ist der Speicherplatz für Tempdb erhöhen. Tempdb kann mindestens 5 % der Datenbank, die durch den Befehl DBCC CHECKDB verarbeitet werden. Daher wird empfohlen, dass Tempdbvorab Größe 5 Prozent der Datenbankgröße bei Verwendung dieses Ablaufverfolgungsflags zu automatischen Vergrößerung des Befehls DBCC CHECKDB die Leistung verlangsamen können.Hinweis Das Ablaufverfolgungsflag 2562 ist ein Ablaufverfolgungsflag auf Sitzungsebene. Sie können es auf Sitzungsebene.Das Ablaufverfolgungsflag 2549Der DBCC CHECKDB -Befehl erstellt eine interne Liste von Seiten, die pro Festplatte eindeutig über alle Datenbankdateien. Diese Logik bestimmt eindeutig Laufwerken Laufwerkbuchstaben der physischen Dateinamen aller Dateien. Wenn die zugrunde liegenden Datenträger tatsächlich eindeutig sind und den Laufwerkbuchstaben oder nicht, Behandeln der Befehl DBCC CHECKDB als eine Festplatte. Wenn dieses Ablaufverfolgungsflags aktiviert ist, wird jede Datenbankdatei auf einer eindeutig sein. Verwenden Sie dieses Ablaufverfolgungsflags nur Sie wissen, dass jede Datei einen eindeutigen physischen Datenträger basiert.Hinweis Das Ablaufverfolgungsflag 2549 ist eine globale Ablaufverfolgungsflag. Um es zu aktivieren, müssen Sie als Startparameter verwenden oder verwenden DBCC TRACEON (2549, -1).Obwohl diese Ablaufverfolgungsflags verbessern Befehle DBCC CHECKDB die Ziel-Verwendung von DBCC CHECKDB Option, einige Benutzer sehen keine Verbesserung der Leistung. Diese Ablaufverfolgungsflags Datenträgerverwendung e/a-Ressourcen verbessern, kann die zugrunde liegende Leistung der Datenträgerressourcen die gesamte-Performance des Befehls DBCC CHECKDB beschränken.Beachten Sie die folgenden Regeln:
  • Die Leistungssteigerung dienen nicht zur Leistungssteigerung bei Verwendung der ReparaturOption. Beispielsweise die Leistungssteigerungen dienen nicht zur Leistungssteigerung bei Verwendung der REPAIR_ALLOW_DATA_LOSSOption.
  • Verbesserungen wirken sich nicht auf DBCC CHECKALLOCBefehl.
  • Die Verbesserung können die Leistung von DBCC CHECKTABLEBefehl für Indizes mit vielen Seiten. Allerdings Zielen zählen nicht zum Verbessern der Leistung des Befehls DBCC CHECKTABLE .

Status


Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.