Tünet:

Használat során DBCC CHECKDB val vel REPAIR_ALLOW_DATA_LOSS paraméter a sérült .MDF adatbázis javításához, például:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

a következő hibaüzenetet látja:

DBCC eredmények a következőre: „xxxx”.
A CHECKDB 0 kiosztási hibát és 0 konzisztenciahibát talált az 'xxxx' adatbázisban.
824 üzenet, 24 szint, State 2, 8 vonal
SQL Server logikai konzisztencián alapuló I/O hibát észlelt: hibás ellenőrző összeg (várható: 0xea8a9a2f; tényleges: 0x37adbff8). Az oldal olvasása során (1:28) történt a 39-es azonosítójú adatbázisban, az „xxxx.mdf” fájl 0x00000000038000 eltolásánál. További üzenetek a SQL Server A hibanapló vagy a rendszereseménynapló további részletekkel szolgálhat. Ez egy súlyos hibaállapot, amely veszélyezteti az adatbázis integritását, és azonnal ki kell javítani. Végezzen el egy teljes adatbázis-konzisztencia-ellenőrzést (DBCC CHECKDB). Ezt a hibát számos tényező okozhatja; további információkért lásd SQL Server Online könyvek.

ahol az „xxxx.mdf” a javítandó sérült MDF-fájl neve. Bár a CHECKDB azt mondja

A CHECKDB 0 kiosztási hibát és 0 konzisztenciahibát talált az 'xxxx' adatbázisban.

Ez még mindig konzisztencia hiba (Ms 824) az adatbázisban.

Képernyőkép a hibaüzenetről:

logikai konzisztencián alapuló I/O hiba: hibás ellenőrző összeg

Ha a korrupció súlyos, akkor folyamatos hibaüzenetek lesznek (Ms 824), az alábbi:

824 üzenet, 24 szint, State 6, 2 vonal SQL Server logikai konzisztencián alapuló I/O hibát észlelt: hibás ellenőrző összeg (várható: 0x3d17dfef; tényleges: 0xd81748ef). Ez az oldal (1:0) olvasása során történt a 39-es azonosítójú adatbázisban, a 0000000000000000 eltolásnál az „xxxx.mdf” fájlban. További üzenetek a SQL Server A hibanapló vagy a rendszereseménynapló további részletekkel szolgálhat. Ez egy súlyos hibaállapot, amely veszélyezteti az adatbázis integritását, és azonnal ki kell javítani. Végezzen el egy teljes adatbázis-konzisztencia-ellenőrzést (DBCC CHECKDB). Ezt a hibát számos tényező okozhatja; további információkért lásd SQL Server Online könyvek.

824 üzenet, 24 szint, State 6, 4 vonal SQL Server logikai konzisztencián alapuló I/O hibát észlelt: hibás ellenőrző összeg (várható: 0x3d17dfef; tényleges: 0xd81748ef). Ez az oldal (1:0) olvasása során történt a 39-es azonosítójú adatbázisban, a 0000000000000000 eltolásnál az „xxxx.mdf” fájlban. További üzenetek a SQL Server A hibanapló vagy a rendszereseménynapló további részletekkel szolgálhat. Ez egy súlyos hibaállapot, amely veszélyezteti az adatbázis integritását, és azonnal ki kell javítani. Végezzen el egy teljes adatbázis-konzisztencia-ellenőrzést (DBCC CHECKDB). Ezt a hibát számos tényező okozhatja; további információkért lásd SQL Server Online könyvek.

ahol az „xxxx.mdf” a javítandó sérült MDF-fájl neve.

Képernyőkép a hibaüzenetről:

Ha a korrupció súlyosabb, láthatod Ms 7909 következik Ms 824:

DBCC eredmények a következőre: „xxxx”.
A CHECKDB 0 kiosztási hibát és 0 konzisztenciahibát talált az 'xxxx' adatbázisban.
824 üzenet, 24 szint, State 2, 8 vonal
SQL Server logikai konzisztencián alapuló I/O hibát észlelt: hibás ellenőrzőösszeg (várható: 0xcfcd2118; tényleges: 0x6fc599d6). Az oldal (1:1) olvasása során fordult elő a 39-es azonosítójú adatbázisban, az „xxxx.mdf” fájl 0x00000000002000 eltolásánál. További üzenetek a SQL Server A hibanapló vagy a rendszereseménynapló további részletekkel szolgálhat. Ez egy súlyos hibaállapot, amely veszélyezteti az adatbázis integritását, és azonnal ki kell javítani. Végezzen el egy teljes adatbázis-konzisztencia-ellenőrzést (DBCC CHECKDB). Ezt a hibát számos tényező okozhatja; további információkért lásd SQL Server Online könyvek.
7909 üzenet, 20 szint, State 1, 8 vonal
A vészhelyzeti mód javítása nem sikerült. Vissza kell állítania a biztonsági másolatból.

ahol az „xxxx” az adatbázis neve, az „xxxx.mdf” pedig az adatbázis fizikai fájlneve.

Megjegyzések Ms 7909 egy súlyos hiba, amely számos helyzetben előfordulhat SQL Server úgy gondolja, hogy az adatbázis túl van a helyreállításon.

Képernyőkép a hibaüzenetről:

Pontos magyarázat:

Az MDF fájlban lévő adatok 8 KB méretűek oldalak. Minden oldalon van egy opcionális ellenőrző összeg mező.

Ha a DBCC CHECKDB parancs megtalálja az ellenőrzőösszeg értékeket a fejléc oldalon, a PFS oldalon és néhány adatlap érvénytelen, és nem tudja kijavítani a problémát, akkor ezt a hibát jelenti (Ms 824). Ha a korrupció súlyos, előfordulhatnak folyamatos hibák (Ms 824) vagy egy másik hiba követi (Ms 7909).

Használhatja termékünket DataNumen SQL Recovery hogy helyreállítsa az adatokat a sérült MDF fájlból, és megoldja ezt a hibát.

Mintafájlok:

Minta a hibát okozó sérült MDF fájlokat (Egyetlen 824-es üzenet hiba):

SQL Server változat Sérült MDF fájl MDF fájl javítva DataNumen SQL Recovery
SQL Server 2014 Error1_3.mdf Error1_3_fixed.mdf

Minta a hibát okozó sérült MDF fájlokat (Folyamatos Msg 824 hibák):

SQL Server változat Sérült MDF fájl MDF fájl javítva DataNumen SQL Recovery
SQL Server 2014 Error1_1.mdf Hiba 1_1_fixed.mdf

Minta a hibát okozó sérült MDF fájlokat (Msg 824 error, majd Msg 7909 error):

SQL Server változat Sérült MDF fájl MDF fájl javítva DataNumen SQL Recovery
SQL Server 2014 Error1_2.mdf Error1_2_fixed.mdf

 

Referenciák:

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