Freigeben über


DBCC CHECKCATALOG (Transact-SQL)

Aktualisiert: 05. Dezember 2005

Überprüft die Katalogkonsistenz innerhalb der angegebenen Datenbank. Die Datenbank muss online sein.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

DBCC CHECKCATALOG 
[ 
        ( 
        database_name | database_id | 0
        )
]
    [ WITH NO_INFOMSGS ] 

Argumente

  • database_name | database_id | 0
    Der Name oder die ID der Datenbank, für die die Katalogkonsistenz überprüft werden soll. Erfolgt keine Eingabe oder wird 0 angegeben, wird die aktuelle Datenbank verwendet. Datenbanknamen müssen den Regeln für Bezeichner entsprechen.
  • WITH NO_INFOMSGS
    Alle Informationsmeldungen werden unterdrückt.

Resultsets

Wenn keine Datenbank angegeben ist, gibt DBCC CHECKCATALOG Folgendes zurück:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Wenn AdventureWorks als Datenbankname angegeben ist, gibt DBCC CHECKCATALOG Folgendes zurück:

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Hinweise

Nach der Fertigstellung des Befehls DBCC CATALOG wird eine Meldung in das SQL Server-Fehlerprotokoll geschrieben. Wird der DBCC-Befehl erfolgreich ausgeführt, werden der erfolgreiche Abschluss und die Dauer der Befehlsausführung in einer Meldung angezeigt. Wurde der DBCC-Befehl aufgrund eines Fehlers vor Abschluss der Überprüfung beendet, wird in einer Meldung angezeigt, dass der Befehl beendet wurde. Außerdem werden ein Statuswert und die Ausführungsdauer des Befehls angegeben. In der folgenden Tabelle sind die Statuswerte aufgeführt und beschrieben, die in der Meldung enthalten sein können.

Status Beschreibung

0

Fehler 8930 wurde ausgelöst. Dies weist auf beschädigte Metadaten als Ursache der Beendigung des DBCC-Befehls hin.

1

Fehler 8967 wurde ausgelöst. Ein interner DBCC-Fehler ist aufgetreten.

2

Beim Reparieren einer Datenbank im Notfallmodus ist ein Fehler aufgetreten.

3

Dies weist auf beschädigte Metadaten als Ursache der Beendigung des DBCC-Befehls hin.

4

Eine Assertations- oder Zugriffsverletzung wurde entdeckt.

5

Ein unbekannter Fehler ist aufgetreten, der den DBCC-Befehl beendet hat.

DBCC CHECKCATALOG führt verschiedene Konsistenzprüfungen zwischen System-Metadatentabellen aus. DBCC CHECKCATALOG verwendet einen internen Datenbanksnapshot, um die für die Ausführung dieser Überprüfungen erforderliche Transaktionskonsistenz bereitzustellen. Weitere Informationen finden Sie unter Grundlegendes zur Größe von Dateien mit geringer Dichte in Datenbanksnapshots und im Abschnitt über die Verwendung von internen Datenbanksnapshots in DBCC unter DBCC (Transact-SQL).

Wenn ein Snapshot nicht erstellt werden kann, erwirbt DBCC CHECKCATALOG eine exklusive Datenbanksperre, um die erforderliche Konsistenz zu erhalten. Wenn Inkonsistenzen festgestellt werden, können diese nicht repariert werden, und die Datenbank muss von einer Sicherung wiederhergestellt werden.

ms186720.note(de-de,SQL.90).gifHinweis:
In SQL Server 2005 werden beim Ausführen von DBCC CHECKCATALOG für tempdb keine Prüfungen vorgenommen. Der Grund hierfür liegt darin, dass aus Leistungsgründen für tempdb keine Datenbanksnapshots verfügbar sind. Dies bedeutet, dass die erforderliche Transaktionskonsistenz nicht erhalten werden kann. Verwenden Sie den Server wieder, um Probleme in tempdb mit Metadaten zu beseitigen.

DBCC CHECKCATALOG wird auch im Rahmen von DBCC CHECKDB ausgeführt.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder in der festen Datenbankrolle db_owner.

Beispiele

Im folgenden Beispiel wird die Katalogintegrität in der aktuellen Datenbank und in der AdventureWorks-Datenbank überprüft.

-- Check the current database.
DBCC CHECKCATALOG;
GO
-- Check the AdventureWorks database.
DBCC CHECKCATALOG (AdventureWorks);
GO

Siehe auch

Verweis

DBCC (Transact-SQL)
Systemtabellen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Neuer Inhalt:
  • Dem Abschnitt mit Hinweisen wurden Informationen zu SQL Server-Fehlerprotokollmeldungen und eine Tabelle mit einer Beschreibung der Statuswerte hinzugefügt.