Wie behebt man den fatalen Fehler 823 der SQL Server-Datenbank?

Manchmal erhalten wir den SQL-Server-Fehler 823 und wenn dieser Fehler auftritt, ist es schwierig, den Schweregrad zu schätzen, wenn er fortbesteht, welche Probleme er verursachen kann und was die Lösung ist. In diesem Artikel werden wir die Ursachen und die Behebung des Problems mit dem SQL Server-Fehler Nr. 823 zeigen.

Was ist der Msg 823-Fehler in der SQL Server-Datenbank?

Es handelt sich um ein Problem in SQL Server, das mit:

  1. Der Betriebssystemfehler
  2. Ein IO-Fehler

In diesem Artikel werden wir über den IO-Fehler sprechen. Die Fehlermeldung sieht dann so aus wie diese Meldung:

Error: 823, Severity: 24, State: 2.
2010-03-06 22:41:19.55 spid58 The operating system returned error 38 (Reached the end of the file.) to SQL Server during a read at offset 0x000000a72c0000 in file ‘C:\Program Files\Microsoft SQL Server\ MSSQL\DATA\db.mdf’. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe, system-level error condition that threatens database integrity and must be corrected immediately. It is recommended to complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online

Welche Probleme sind mit dem 823 IO-Fehler verbunden?

Dieses Problem kann mit den folgenden Problemen zusammenhängen:

  1. Eine zerrissene Seite
  2. Fehlerhafte Seiten-ID
  3. Nicht genügend Bytes übertragen

Was ist eine zerrissene Seite?

Es ist eine Seite, die falsch geschrieben wurde. Wir könnten sagen, dass zerrissene Seiten Erkennung ein Bit für alle 512 Bytes der Seite schreibt und es Ihnen erlaubt zu erkennen, wann die Seite nicht erfolgreich auf die Festplatte geschrieben wird, aber es sagt Ihnen nicht, ob die auf der Festplatte gespeicherten Daten tatsächlich korrekt sind, da ein paar Bytes möglicherweise falsch geschrieben wurden.

Was ist die Fehlermeldung für den abgerissenen Seitenfehler?

Der Fehler wird wie dieser sein:

2015-08-05 16:51:18.90 spid17 Error: 823, Severity: 24, State: 2
2015-08-05 16:51:18.90 spid17 I/O errors (torn page) detected during read at offset 0x00000094004000 in file ?c:\Program Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf?

Wie kann ich einen abgerissenen Page-IO-Fehler erkennen?

Sie können diese Fehler erkennen, wenn Sie den Befehl CHECKDB in Ihrer Datenbank ausführen.

Was ist die Bad Page ID?

Es ist, wenn die ID der Titelseite nicht die gleiche ist wie die ausgegebene beim Einlesen der Festplatte.

Warum wird der Fehler nicht ausreichend übertragene Bytes in SQL Server produziert?

Das bedeutet, dass der API-Aufruf erfolgreich aufgerufen wurde, aber die übertragenen Bytes nicht die erwarteten sind.

Wie kann man den SQL Server-Fehler 823 beheben?

Der erste Schritt wäre, einen DBCC CHECKDB -Befehl auszuführen und zu versuchen, die Datenbank mit den folgenden Sätzen zu reparieren:

DBCC CHECKDB (DB_NAME, REPAIR_REBUILD); 

Die Datenbank muss sich im Einzelbenutzermodus befinden. Um in den Einzelbenutzermodus zu wechseln, können Sie die folgenden T-SQL-Sätze verwenden:

ALTER DATABASE DB2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

Eine andere Möglichkeit, dies zu tun, ist, mit der rechten Maustaste auf die Datenbank im SSMS zu klicken und zur Seite Optionen zu gehen. Um den Zugriff einzuschränken, wählen Sie SINGLE USER:

Datenbank in den Einzelbenutzermodus versetzen

Führen Sie “DBCC CHECKDB” erneut aus, um sicherzustellen, dass die Datenbank repariert wurde:

  1. Wenn das Problem weiterhin besteht, kann es sich um ein Hardwareproblem handeln, das Sie möglicherweise zur Reparatur Ihrer Festplatte benötigen. Kontakt zu den IT-Verantwortlichen für die Hardware. Überprüfen Sie auch, ob es Fragmentierungsprobleme auf der Festplatte gibt.
  2. Eine weitere Möglichkeit ist die Wiederherstellung Ihrer Datenbank mit einem Backup. Führen Sie nach der Wiederherstellung der Datenbank eine CHECKDB aus, um sicherzustellen, dass das Problem gelöst ist.
  3. Wenn Sie einen Seitenfehler haben, können Sie die CHECKSUM und die Seitenerkennung verwenden, um die Fehler zu beheben und zu überprüfen.

Eine weitere Möglichkeit wäre, Stellar Repair for MS SQL herunterzuladen. Diese Software kann über die Schaltfläche Kostenloser Download heruntergeladen werden:

Diese Software repariert die.MDF-Datei. Sie müssen zuerst den SQL Server Service stoppen. Es wird empfohlen, den Dienst über das SQL Server Management Studio (SSMS) oder den SQL Server Configuration Manager zu stoppen.

SQL Server-Dienst beenden

Wenn Sie nicht wissen, wo sich Ihre Datendateien befinden, können Sie die folgenden T-SQL-Befehle verwenden (der SQL Server-Dienst muss gestartet werden):

SELECT name, physical_name AS current_file_location FROM sys. master_files 

Sobald die MDF-Datei angegeben ist, klicken Sie auf die Schaltfläche Repair:

Hinweis: Wenn Sie eine oder mehrere sekundäre Datendateien (.NDF-Datei) mit Ihrer Datenbank verknüpft haben, legen Sie alle NDF-Dateien an den Ort der MDF-Datei. Sobald alles erledigt ist, können Sie den SQL Server Service neu starten und den Befehl CHECKDB erneut ausführen.

Das SQL Reparaturwerkzeug die .MDF- und.NDF-Dateien und Sie werden den SQL Server-Fehler 823 nicht mehr sehen.

Schlussfolgerung

In diesem Artikel haben wir verschiedene Gründe gelernt, die den SQL Server-Fehler 823 verursacht haben und wie man dieses Problem lösen kann. Dieses Problem kann durch Hardware- (Festplattenfehler, Stromausfälle) oder Systemprobleme verursacht werden. Wir zeigen auch, wie man mit einem Backup, einer CHECKDB und schließlich mit Stellar Repair for MS SQL löst.

Stellar Repair for MS SQL ist ein einfaches SQL-Reparaturwerkzeug. Wenn Sie Fragen haben, zögern Sie bitte nicht, Ihre Fragen und Kommentare zu schreiben.

Related Post