Symptom:

Wann Dir benotzt DBCC CHECKDB mat REPAIR_ALLOW_DATA_LOSS Parameter fir eng korrupt .MDF Datebank ze reparéieren, sou:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

Dir gesitt déi folgend Fehlermeldung:

DBCC Resultater fir 'xxxx'.
CHECKDB huet 0 Allokatiounsfehler an 0 Konsistenzfehler an der Datebank 'xxxx' fonnt.
Msg 824, Niveau 24, Staat 2, Linn 8
SQL Server entdeckt e logesche Konsistenz-baséiert I/O Feeler: falsch Kontrollsumme (erwaart: 0xea8a9a2f; tatsächlech: 0x37adbff8). Et ass geschitt während enger Liesung vun der Säit (1:28) an der Datebank ID 39 am Offset 0x00000000038000 am Fichier 'xxxx.mdf'. Zousätzlech Messagen an der SQL Server Feeler Log oder System Event Log kënne méi Detailer ginn. Dëst ass e schwéiere Feelerbedingung deen d'Datebankintegritéit bedroht a muss direkt korrigéiert ginn. Fëllt e komplette Datebankkonsistenzcheck (DBCC CHECKDB) aus. Dëse Feeler kann duerch vill Faktoren verursaacht ginn; fir méi Informatiounen, gesinn SQL Server Bicher Online.

wou 'xxxx.mdf' den Numm vun der korrupter MDF Datei ass, déi reparéiert gëtt. Obwuel CHECKDB seet

CHECKDB huet 0 Allokatiounsfehler an 0 Konsistenzfehler an der Datebank 'xxxx' fonnt.

Dëst ass nach ëmmer e Konsistenzfehler (msg 824) an der Datebank.

Screenshot vun der Fehlermeldung:

logesch Konsequenz-baséiert I / O Feeler: falsch Kontrollsumme

Wann d'Korruptioun schwéier ass, da ginn et kontinuéierlech Fehlermeldungen (msg 824), wéi hei ënnendrënner:

Msg 824, Niveau 24, Staat 6, Linn 2 SQL Server entdeckt eng logesch Konsequenz-baséiert ech / O Feeler: falsch Kontrollsumme (erwaart: 0x3d17dfef; tatsächlech: 0xd81748ef). Et ass geschitt während enger Liesung vun der Säit (1:0) an der Datebank ID 39 am Offset 0000000000000000 am Fichier 'xxxx.mdf'. Zousätzlech Messagen an der SQL Server Feeler Log oder System Event Log kënne méi Detailer ginn. Dëst ass e schwéiere Feelerbedingung deen d'Datebankintegritéit bedroht a muss direkt korrigéiert ginn. Fëllt e komplette Datebankkonsistenzcheck (DBCC CHECKDB) aus. Dëse Feeler kann duerch vill Faktoren verursaacht ginn; fir méi Informatiounen, gesinn SQL Server Bicher Online.

Msg 824, Niveau 24, Staat 6, Linn 4 SQL Server entdeckt eng logesch Konsequenz-baséiert ech / O Feeler: falsch Kontrollsumme (erwaart: 0x3d17dfef; tatsächlech: 0xd81748ef). Et ass geschitt während enger Liesung vun der Säit (1:0) an der Datebank ID 39 am Offset 0000000000000000 am Fichier 'xxxx.mdf'. Zousätzlech Messagen an der SQL Server Feeler Log oder System Event Log kënne méi Detailer ginn. Dëst ass e schwéiere Feelerbedingung deen d'Datebankintegritéit bedroht a muss direkt korrigéiert ginn. Fëllt e komplette Datebankkonsistenzcheck (DBCC CHECKDB) aus. Dëse Feeler kann duerch vill Faktoren verursaacht ginn; fir méi Informatiounen, gesinn SQL Server Bicher Online.

wou 'xxxx.mdf' den Numm vun der korrupter MDF Datei ass, déi reparéiert gëtt.

Screenshot vun der Fehlermeldung:

Wann d'Korruptioun méi schwéier ass, kënnt Dir gesinn msg 7909 kënnt msg 824:

DBCC Resultater fir 'xxxx'.
CHECKDB huet 0 Allokatiounsfehler an 0 Konsistenzfehler an der Datebank 'xxxx' fonnt.
Msg 824, Niveau 24, Staat 2, Linn 8
SQL Server entdeckt eng logesch Konsequenz-baséiert ech / O Feeler: falsch Kontrollsumme (erwaart: 0xcfcd2118; tatsächlech: 0x6fc599d6). Et ass geschitt während enger Liesung vun der Säit (1:1) an der Datebank ID 39 am Offset 0x00000000002000 am Fichier 'xxxx.mdf'. Zousätzlech Messagen an der SQL Server Feeler Log oder System Event Log kënne méi Detailer ginn. Dëst ass e schwéiere Feelerbedingung deen d'Datebankintegritéit bedroht a muss direkt korrigéiert ginn. Fëllt e komplette Datebankkonsistenzcheck (DBCC CHECKDB) aus. Dëse Feeler kann duerch vill Faktoren verursaacht ginn; fir méi Informatiounen, gesinn SQL Server Bicher Online.
Msg 7909, Niveau 20, Staat 1, Linn 8
Der Noutfall-Modus Reparatur failed.You muss aus Backupsatellit restauréiert.

wou 'xxxx' den Datebanknumm ass an 'xxxx.mdf' den Datebank kierperlechen Dateinumm ass.

Notéiert msg 7909 ass e schwéiere Feeler deen a ville Situatiounen optriede kann SQL Server mengen datt d'Datebank iwwer d'Erhuelung ass.

Screenshot vun der Fehlermeldung:

Genau Erklärung:

D'Donnéeën an der MDF Datei ginn als 8KB gespäichert Säiten. All Säit huet en fakultativ Checksumfeld.

Wann DBCC CHECKDB Kommando d'Kontrollsumwäerter an der Header Säit fënnt, PFS Säit an e puer vun den Daten Säiten sinn ongëlteg an et kann de Problem net korrigéieren, da mellt et dëse Feeler (msg 824). Wann de Korruptioun schwéier ass, kann et kontinuéierlech Feeler sinn (msg 824) oder gefollegt vun engem anere Feeler (msg 7909).

Dir kënnt eise Produit benotzen DataNumen SQL Recovery fir d'Donnéeën aus der korrupter MDF Datei ze recuperéieren an dëse Feeler ze léisen.

Sample Dateien:

Probe korrupt MDF Dateien déi de Feeler verursaachen (Single Msg 824 Feeler):

SQL Server Versioun Korrupt MDF Datei MDF Datei fixéiert duerch DataNumen SQL Recovery
SQL Server 2014 Feeler1_3.mdf Feeler1_3_fixed.mdf

Probe korrupt MDF Dateien déi de Feeler verursaachen (Kontinuéierlech Msg 824 Feeler):

SQL Server Versioun Korrupt MDF Datei MDF Datei fixéiert duerch DataNumen SQL Recovery
SQL Server 2014 Feeler1_1.mdf Feeler1_1_fixed.mdf

Probe korrupt MDF Dateien déi de Feeler verursaachen (Msg 824 Feeler gefollegt vum Msg 7909 Feeler):

SQL Server Versioun Korrupt MDF Datei MDF Datei fixéiert duerch DataNumen SQL Recovery
SQL Server 2014 Feeler1_2.mdf Feeler1_2_fixed.mdf

 

Referenzen:

1. https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-824-database-engine-error?view=sql-server-ver15