Summary: Wenn Sie den Befehl DBCC CHECKDB ausführen, um eine beschädigte Datenbank zu reparieren, erhalten Sie möglicherweise die Fehlermeldung 8930. In diesem Artikel erfahren Sie, wie Sie die Fehlermeldung 8930 in SQL Server beheben können. Außerdem erfahren Sie etwas über eine fortschrittliche SQL-Datenbankreparatursoftware, mit der Sie sowohl beschädigte Datenbanken als auch Sicherungsdateien einfach reparieren können.
MS SQL Server bietet DBCC CHECKDB-Befehle zur Überprüfung und Reparatur beschädigter Datenbanken. Wenn Sie diesen Befehl jedoch ausführen, um die Datenbank zu reparieren, schlägt er manchmal fehl und zeigt eine Fehlermeldung an. Die Fehlermeldung kann wie folgt aussehen:
Msg 8930, Ebene 16, Status 1, Zeile 1 Datenbankfehler: Datenbank 1 hat inkonsistente Metadaten. Dieser Fehler kann nicht korrigiert werden und verhindert eine weitere DBCC-Verarbeitung. Bitte stellen Sie von einem Backup wieder her.
Die Fehlermeldung zeigt an, dass der DBCC-Befehl aufgrund einer Beschädigung der Metadaten fehlgeschlagen ist. Die Metadaten enthalten die Kataloge und Informationen über die Tabellen. Sie speichern Informationen über die Struktur und die Datenbankobjekte. Die Systemtabellen enthalten z.B. Informationen über Benutzertabellen und die View-Tabelle sys.objects enthält Informationen über Tabellen, Stored Procedures, Views und andere Objekte.
Dieser Fehler kann aus verschiedenen Gründen auftreten, z.B. aufgrund eines Hardwareschadens, eines Softwarefehlers usw. Schauen wir uns an, wie Sie diesen Fehler beheben und die Daten aus einer beschädigten Datenbank wiederherstellen können.
Wie kann ich den MS SQL-Fehler 8930 beheben?
Wenn die Metadaten beschädigt sind, können Sie nicht mehr mit der Datenbank arbeiten. Leider können Sie die Datenbank nicht mit dem DBCC-Befehl reparieren, wenn dieses Problem auftritt. Sie müssen daher die Daten aus dem Backup wiederherstellen.
Das Backup ist eine Datei, die eine Kopie der Daten enthält und auch die Metadaten der SQL Server-Datenbanken umfasst. Sie können Ihre Datenbank bis zum Datum des Backups wiederherstellen. Wenn Sie über ein Transaktionsprotokoll verfügen, können Sie die Daten durch Eingabe von Datum und Uhrzeit wiederherstellen.
Um die Datenbank aus dem Backup wiederherzustellen, folgen Sie den angegebenen Schritten:
- Öffnen Sie SQL Server Management Studio (SSMS).
- Verbinden Sie sich mit der SQL Server-Instanz.
- Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Option Datenbanken und wählen Sie die Option Datenbank wiederherstellen.
- Wählen Sie die Option Gerät und klicken Sie dann auf die Ellipsen (…), um die Sicherungsdatei zu finden.
- Klicken Sie auf Hinzufügen und suchen Sie den Ort, an dem sich Ihre Sicherungsdatei (.bak) befindet.
- Wählen Sie die Datei aus und klicken Sie dann auf OK.
- Klicken Sie erneut auf OK, um das Fenster Sicherungsgeräte auswählen zu schließen.
- Klicken Sie auf OK, um die Datenbanksicherung wiederherzustellen.
Alternativ dazu können Sie auch den folgenden Transact-SQL-Befehl verwenden, um die Datenbanksicherung wiederherzustellen:
USE [master];
GO
RESTORE DATABASE [StellarDB]
FROM DISK = N’C:\Programme\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\StellarDB.bak’ WITH FILE = 1, NOUNLOAD, STATS = 5;
GO
Was passiert, wenn das Backup nicht verfügbar ist?
Wenn die Sicherungskopie beschädigt oder nicht verfügbar ist, besteht die einzige Möglichkeit darin, die beschädigte Datenbank oder Sicherungsdatei mit einer SQL-Datenbankreparatursoftware eines Drittanbieters wie Stellar Repair for MS SQL – Technician zu reparieren. Diese Software kann die beschädigte SQL Server-Datenbank-Sicherungsdatei einfach reparieren und alle Objekte mit vollständiger Integrität wiederherstellen.
Um die Sicherungsdatei der SQL-Datenbank mit der Software zu reparieren, gehen Sie wie folgt vor:
- Öffnen Sie die Software und wählen Sie die Option Extrahieren aus MSSQL Backup.
- Klicken Sie auf das Symbol Backup auswählen.
- Es werden zwei Optionen angezeigt: Suchen und Durchsuchen. Sie können die Option Suchen verwenden, um nach der Sicherungsdatei zu suchen, wenn Sie den Speicherort der Datei nicht kennen. Andernfalls können Sie auf die Schaltfläche Durchsuchen klicken und die Sicherungsdatei auswählen.
- Sobald Sie die Sicherungsdatei ausgewählt haben, drücken Sie auf die Schaltfläche Scannen.
- Wählen Sie den Standard-Scanmodus.
- Wählen Sie die Daten, die Sie wiederherstellen möchten, und drücken Sie auf Weiter. Wenn Sie nur ein paar Tabellen wiederherstellen möchten, können Sie einzelne Tabellen auswählen.
- Klicken Sie dann auf die Schaltfläche Speichern.
- Sie können die Daten speichern in,
- Neue Datenbank
- Live-Datenbank (eine bestehende Datenbank)
- Andere Formate, wie z.B. Excel, CSV, etc. (um die Daten bestimmter Tabellen zu speichern)
Fazit
Der Fehler 8930 tritt auf, wenn Sie versuchen, eine beschädigte Datenbank mit dem Befehl DBCC CHECKDB in SQL Server zu reparieren. Dies geschieht, wenn die Metadaten beschädigt oder korrupt sind. In einem solchen Fall können Sie die Datenbank nicht mit dem DBCC CHECKDB-Befehl reparieren. Die einzige Möglichkeit besteht also darin, die Datenbank von einem aktuellen, gesunden Backup wiederherzustellen. Wenn das Backup jedoch nicht verfügbar oder beschädigt ist, können Sie Stellar Repair for MS SQL verwenden, um die beschädigte Datenbank oder das Backup selbst zu reparieren.