DBCC CHECKDB wird auf der SQL Server-Datenbank ausgeführt, um die physische und logische Integrität der integralen Komponenten der Datenbank zu überprüfen. Zu diesen Objekten gehören Tabellen, Indizes, Schlüssel, gespeicherte Prozeduren, Trigger, usw. DBCC CHECKDB prüft auch die Struktur aller Datenbanktabellen und Indizes. Falls eine dieser Prüfungen bei der Ausführung von DBCC fehlschlägt, erhalten Sie eine Fehlermeldung, die ähnlich wie die folgende aussieht:
CHECKDB fand 0 Zuordnungsfehler und 15 Konsistenzfehler in der Datenbank ‘dbname’.
repair_allow_data_loss ist der minimale Reparaturlevel für die von DBCC CHECKDB (dbname) gefundenen Fehler.
Die von SQL Server DBCC CHECKDB durchgeführten Prüfungen können aufgrund von Problemen wie Dateisystembeschädigung, Treiberproblemen, Hardwarefehlfunktionen, Problemen mit der SQL Server-Engine und beschädigten oder fehlerhaften Seiten im Speicher fehlschlagen. Sehen Sie sich häufige SQL-Datenbankbeschädigungsfehler und ihre Lösungen an.
Was behebt DBCC CHECKDB ‘REPAIR_ALLOW_DATA_LOSS’ und was sind die damit verbundenen Herausforderungen?
Die Syntax von DBCC CHECKDB mit Reparaturoptionen lautet wie folgt:
Wenn Sie DBCC CHECKDB mit der Option REPAIR_ALLOW_DATA_LOSS ausführen, wird versucht, alle Konsistenzfehler der Datenbank zu reparieren. Die Integrität der Datenbankobjekte ist jedoch nicht garantiert, da einige Daten beeinträchtigt sein oder fehlen können, sobald der Befehl ausgeführt wird. Es gibt einige Warnmeldungen im Zusammenhang mit REPAIR_ALLOW_DATA_LOSS. Diese Warnungen umfassen:
- Obwohl REPAIR_ALLOW_DATA_LOSS in hohem Maße unterstützt wird, wird es nicht immer als die beste Option angesehen, um die Datenbank in einen konsistenten Zustand zu bringen. Wenn der Befehl erfolgreich ist, kann er zu Datenverlusten führen.
- Die primäre Methode zur Wiederherstellung der Datenbank bei Fehlern, die von Datenbankkonsolenbefehlen gemeldet werden, ist die Wiederherstellung der Datenbank aus der letzten bekannten guten Sicherung, wie von Microsoft empfohlen. Diese Notfalloption wird nur für den Fall empfohlen, dass eine Wiederherstellung aus der Sicherung unmöglich ist.
- Es wird empfohlen, physische Replikate der Datenbankdateien zu erstellen, bevor Reparaturvorgänge mit REPAIR_ALLOW_DATA_LOSS ausgeführt werden. Die Dateien, die kopiert werden müssen, sind MDF (Master-Datenbankdatei), NDF (sekundäre Datenbankdateien) und LDF (Transaktionsprotokolle) sowie Dateistromordner, Volltextkataloge und speicheroptimierte Daten.
- Denken Sie immer daran, den Zustand der Datenbank in den Notfallmodus zu ändern, bevor Sie den Reparaturvorgang einleiten. Es wird empfohlen, alle möglichen Daten aus kritischen Datenbanktabellen oder anderen Objekten abzurufen und an einem externen Speicherort zu sichern.
Lesen Sie dies: Reparatur im Notfallmodus: der allerletzte Ausweg von Paul Randal
Was passiert mit der Datenbank, wenn REPAIR_ALLOW_DATA_LOSS ausgeführt wird?
Wenn eine Datenbank in einen Notfallzustand versetzt wird und SQL Server DBCC CHECKDB mit REPAIR_ALLOW_DATA_LOSS ausgeführt wird, finden die folgenden Aktionen statt:
- Die angegebene Klausel stellt die SQL Server-Datenbank unter Verwendung logbasierter Wiederherstellungsstrategien wieder her.
- Wenn die Wiederherstellung der SQL Server-Datenbank aufgrund einer Beschädigung des Transaktionsprotokolls nicht erfolgreich ist, wird das Protokoll neu aufgebaut. Der plötzliche Wiederherstellungsvorgang kann zu Transaktionsinkonsistenzen führen.
- Datenbankseiten, die aufgrund von E/A-Prüfsummenfehlern als unzugänglich markiert sind, werden von DBCC CHECKDB verwendet, wobei so getan wird, als ob die Fehler nicht aufgetreten wären. Diese gesamte Prozedur beschleunigt die Aussichten auf eine Wiederherstellung der Datenbank in bemerkenswertem Maße.
Is there an alternative to DBCC REPAIR_ALLOW_DATA_LOSS?
Wenn DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS nicht funktioniert oder Datenverluste verursacht, kann die Verwendung der Software Stellar Repair for MS SQL hilfreich sein. Die Software kann alle SQL-Datenbankbeschädigungen aufgrund von Serverabstürzen, Virenangriffen, plötzlichen Systemabschaltungen, Hardwareausfällen, Fehlfunktionen des Betriebssystems usw. beheben.
A great benefit of the SQL repair tool is that it preserves the integrity of the MDF and NDF files while the SQL database is being repaired, making it a potential alternative to the DBCC CHECKDB ‘REPAIR_ALLOW _ DATA_LOSS ‘ option .
Vorteile von Stellar Repair for MSSQL
Die Software repariert MDF/NDF-Dateien, wobei die Daten intakt bleiben. Andere Vorteile, die die Software bei der Reparatur von Datenbanken bietet, sind wie folgt:
- Repariert Datenbanktabellen, Index, Trigger, Regeln, Standardwerte, Schlüssel und andere Objekte
- Kann gelöschte Datensätze aus den SQL-Tabellen wiederherstellen
- Speichert die reparierte Datenbank in 4 verschiedenen Formaten, wie MSSQL (.MDF), HTML, CSV, & XLS
- Unterstützt SQL Server-Datenbank 2019, 2017, 2016, 2014, 2012, 2008 und niedrigere Versionen
- Bewährt und empfohlen von Microsoft MVPs ( MVP-Empfehlungen und Best Practices)
Im Falle eines Fehlers sind sowohl MDF- als auch NDF-Dateien betroffen. Um die SQL-Datenbank effizient zu reparieren, ist es wichtig, alle Komponenten der Master-Datenbankdatei und der sekundären Datenbankdateien zu reparieren.
Bei einer Unterbrechung des SQL-Servers wird der Reparaturprozess angehalten und automatisch wieder aufgenommen, wenn die Verbindung zu einem Server wiederhergestellt ist. Dies hilft, den Reparaturprozess reibungslos ablaufen zu lassen und stellt sicher, dass keine Daten während des Prozesses verloren gehen.
Wie funktioniert Stellar Repair for MS SQL Software?
Um die Datenbank mit der Software zu reparieren, folgen Sie diesen Schritten:
- Downloaden und starten Sie Stellar Repair for MS SQL
Wählen Sie die Datenbank, die repariert werden soll, indem Sie auf die Schaltfläche Durchsuchen klicken. Wenn Sie den genauen Speicherort der Datenbank nicht kennen, klicken Sie auf die SchaltflächeSuchen, um die MDF-Datei von einem bestimmten Laufwerk auszuwählen.
Sobald die Datenbank ausgewählt ist, klicken Sie auf die Schaltfläche Reparieren, um den Reparaturvorgang zu starten.
- Eine Vorschau aller reparierbaren Objekte der Datenbank wird im linken Bereich der Softwareoberfläche angezeigt. Sie können auf ein Objekt klicken, um dessen Inhalt im rechten Bereich des Werkzeugs zu sehen.
- Klicken Sie auf OK, wenn die Meldung ‘Ausgewählte MS SQL-Datenbank erfolgreich repariert‘ angezeigt wird.
- Wählen Sie als Nächstes das Dateiformat aus, in dem Sie die reparierte Datenbankdatei speichern möchten, und klicken Sie dann auf Durchsuchen, um den Speicherort für die Datei auszuwählen.
- Wenn Sie die reparierte Datenbank in der “Neuen Datenbank” oder “Live-Datenbank” wiederherstellen möchten, müssen Sie die Server-Anmeldeinformationen angeben. Klicken Sie anschließend auf die Schaltfläche “Speichern“, um fortzufahren.
- Klicken Sie abschließend auf OK, wenn das Dialogfeld ‘Datei unter dem gewünschten Pfad gespeichert‘ erscheint.
Um den kompletten Arbeitsprozess der Software kennenzulernen, schauen Sie sich das Video an
Fazit
Wenn DBCC CHECKDB Konsistenzfehler der Datenbank meldet, können Sie versuchen, die Datenbank aus einer aktualisierten Sicherung wiederherzustellen. Wenn die Sicherung nicht verfügbar oder beschädigt ist, besteht die letzte Möglichkeit darin, CHECKDB mit der Option ‘REPAIR_ALLOW_DATA_LOSS‘ auszuführen. Die Option “Reparieren” kann jedoch zu Datenverlusten führen und Sie daran hindern, die Datenbank in einem konsistenten Zustand wiederherzustellen. Die Verwendung von Stellar Repair for MS SQL ist eine bessere Alternative, um beschädigte SQL-Datenbanken ohne das Risiko eines Datenverlusts zu reparieren.
Was this article helpful?