Tünet:

.MDF adatbázis csatolásakor SQL Server, a következő hibaüzenetet látja:

SQL Server logikai konzisztencia-alapú I / O hibát észlelt: helytelen ellenőrző összeg (várható: 0x2abc3894; tényleges: 0x2ebe208e). A 1-es adatbázis-azonosító 1-es oldalának (12: 0) beolvasása során történt a 00000000002000xXNUMX eltolással az 'xxx.mdf' fájlban. További üzenetek a SQL Server hibanapló vagy a rendszer eseménynaplója adhat részletesebb információkat. Ez egy súlyos hibaállapot, amely veszélyezteti az adatbázis integritását, és azonnal javítani kell. Töltse ki a 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 Könyvek Online. (Microsoft SQL Server, Hiba: 824)

ahol az 'xxx.mdf' az elérni kívánt MDF fájl neve.

Előfordulhat, hogy az .MDF adatbázist sikeresen csatolja. Amikor azonban megpróbál végrehajtani egy SQL utasítást, például

KIVÁLASZTÁS * FROM [TestDB]. [Dbo]. [Test_table_1]

megkapja a fenti hibaüzenetet is.

A hibaüzenet képernyőképe:

Pontos magyarázat:

Az MDF fájlban lévő adatokat oldalként tárolják, mindegyik oldal 8KB. Minden oldalon van egy opcionális ellenőrző összeg mező.

If SQL Server úgy találja, hogy az ellenőrző összegek értéke néhány adatoldalon érvénytelen, majd jelenteni fogja ezt a hibát.

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

Minta fájlok:

Mutassa a hibát okozó sérült MDF fájlokat:

SQL Server változat Sérült MDF fájl MDF fájl javítva DataNumen SQL Recovery
SQL Server 2005 Hiba4_1.mdf Hiba4_1_javítva.mdf
SQL Server 2008 R2 Hiba4_2.mdf Hiba4_2_javítva.mdf
SQL Server 2012 Hiba4_3.mdf Hiba4_3_javítva.mdf
SQL Server 2014 Hiba4_4.mdf Hiba4_4_javítva.mdf