Wie repariert man eine SQL-Datenbank mit dem DBCC CHECKDB-Befehl?

Summary: Der Datenbank-Konsolenbefehl (DBCC) CHECKDB wird von vielen SQL Server-Datenbankadministratoren (DBAs) häufig verwendet, um Fehler in der Datenbank zu identifizieren. Außerdem verfügt DBCC CHECKDB über drei Reparaturoptionen, um datenbankbezogene Fehler zu beheben. In diesem Artikel wird beschrieben, wie Sie DBCC CHECKDB verwenden können, um SQL-Datenbanken zu reparieren. Außerdem wird eine spezielle MS SQL-Reparatursoftware vorgestellt, die Sie verwenden können, wenn DBCC CHECKDB die Datenbank nicht reparieren kann.

Als Datenbankadministratoren (DBAs) wissen wir alle, wie wichtig es ist, den “Database Console Command (DBCC) CHECKDB” regelmäßig auszuführen, um die physische und logische Integrität von Datenbankobjekten, Indexbeziehungen und andere strukturelle Checks zu überprüfen. Wenn eine dieser Prüfungen fehlschlägt, werden Konsistenzfehler im Rahmen des Datenbankkonsolenbefehls gemeldet.

Die beste Methode zur Reparatur von Fehlern in der Datenbank, die von DBCC CHECKDB gemeldet werden, besteht darin, das letzte bekannte gute Backup auszuführen, wie von Microsoft empfohlen. Wenn die Sicherung jedoch nicht verfügbar ist (oder die Sicherung beschädigt ist), können Sie versuchen, auf die Datenbank im Notzustand zuzugreifen. Der Status Emergency ermöglicht den Zugriff auf eine Datenbank, die sich im Modus Suspect befindet. Er ermöglicht auch die Ausführung von DBCC CHECKDB-Reparaturoptionen, um die Datenbankbeschädigung zu beheben.

Wie verwendet man DBCC CHECKDB zum Reparieren der SQL-Datenbank?

Laden Sie das ‘SQL Server Management Studio (SSMS)’ herunter, installieren Sie es und folgen Sie diesen Schritten, um die SQL-Datenbank mit DBCC CHECKDB zu reparieren:

HINWEIS: In den unten genannten Schritten verwenden wir database_name als Dbtesting. Stellen Sie sicher, dass Sie DBtesting durch den Namen Ihrer Datenbank ersetzen.

Schritt 1: Versetzen der Datenbank in den Notfallmodus

Ändern Sie den Datenbankstatus in den EMERGENCY-Modus, der dem Administrator einen Nur-Lese-Zugriff ermöglicht. Um die Datenbank in den EMERGENCY-Modus zu versetzen, führen Sie folgende Abfrage in SSMS aus:

ALTER DATABASE [Dbtesting] SET EMERGENCY

Schritt 2: Prüfen auf Korruptionsfehler

Sobald der Administrator auf die Datenbank zugreifen kann, führen Sie den folgenden DBCC CHECKDB-Befehl aus, um Korruptionsfehler in der Datenbank zu analysieren:

DBCC CHECKDB (Dbtesting)

Wenn DBCC CHECKDB Fehler in der Datenbank entdeckt, empfiehlt es geeignete Reparaturoptionen, um das Problem zu beheben.

Schritt 3: SQL-Server-Datenbank in den Einzelbenutzermodus versetzen

Bevor Sie die DBCC CHECKDB-Reparaturoptionen verwenden, setzen Sie die beschädigte Datenbank in den Einzelbenutzermodus, um zu verhindern, dass andere Benutzer die Daten während des Reparaturvorgangs ändern. Gehen Sie folgendermaßen vor, um den SQL-Datenbankmodus auf SINGLE_USER zu setzen:

Methode 1: Verwendung der grafischen Benutzeroberfläche (GUI)

Methode 2: Verwendung von Transact-SQL (T-SQL)-Befehlen

Sie können die Datenbank auch in den SINGLE_USER-Modus versetzen, indem Sie die folgende T-SQL-Abfrage in SSMS ausführen:

ALTER DATABASE Dbtesting SET SINGLE_USER

Schritt 4: Reparieren der Datenbank

Sobald Sie den Datenbankmodus auf SINGLE_USER geändert haben, führen Sie DBCC CHECKDB mit der Reparaturoption REPAIR_ALLOW_DATA_LOSS aus, um die SQL Server-Datenbank zu reparieren:

HINWEISE:

DBCC CHECKDB (N 'Dbtesting', REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS;
GO

Schritt 5: Datenbank wieder in den MULTI_USER-Modus versetzen

Nachdem Sie die Datenbank erfolgreich repariert haben, setzen Sie die Datenbank in den MULTI_USER-Modus, indem Sie den folgenden Befehl ausführen:

ALTER DATABASE Dbtesting SET MULTI_USER

Was können Sie noch tun, wenn DBCC CHECKDB fehlschlägt?

Das Ausführen des DBCC CHECKDB-Befehls REPAIR_ALLOW_DATA_LOSS kann das Löschen einiger Datenbankseiten erfordern, was zu Datenverlusten führt. Außerdem können DBCC CHECKDB-Befehle fehlschlagen und einen Fehler zurückgeben, wenn es sich um stark beschädigte SQL-Datenbankdateien handelt.

Verwenden Sie Stellar Repair for MS SQL Software, um schwer beschädigte MS SQL-Datenbank zu reparieren und alle ihre Komponenten wiederherzustellen, wobei die Datenbankintegrität erhalten bleibt. Die SQL-Wiederherstellungssoftware hilft, den Zugriff auf die Datenbank mit minimalem manuellem Aufwand und Zeitaufwand wiederherzustellen.

Hauptmerkmale:

Um den kompletten Arbeitsprozessder Software kennenzulernen, schauen Sie sich das Video an

Fazit

DBCC CHECKDB kann helfen, Konsistenzfehler und Korruption in MS SQL-Datenbanken zu überprüfen. Eine beschädigte Datenbank kann zu unnötigen Ausfallzeiten und Datenverlusten führen. Um datenbankbezogene Fehler zu beheben, stellen Sie die Datenbank aus dem letzten Backup wieder her.

Wenn die aktuelle Datenbanksicherung nicht existiert oder die Sicherung selbst beschädigt ist, können Sie die Reparaturoption DBCC CHECKDB ‘REPAIR_ALLOW_DATA_LOSS’ verwenden, um die Datenbank zu reparieren. Diese Reparaturoption birgt jedoch das Risiko eines Datenverlusts. Außerdem könnte DBCC CHECKDB das Problem nicht beheben.

Verwenden Sie Stellar Repair for MS SQL, um die MS SQL-Datenbank zu reparieren und alle ihre Komponenten mit Präzision wiederherzustellen, wobei die Datenbankstruktur und die Integrität der Datenbankobjekte erhalten bleiben.

Related Post