Symptoom:

As jo ​​brûke DBCC CHECKDB mei REPAIR_ALLOW_DATA_LOSS parameter om in korrupte .MDF-database te reparearjen, lykas dit:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

jo sjogge it folgjende flaterberjocht:

DBCC-resultaten foar 'xxxx'.
CHECKDB fûn 0 tawizing flaters en 0 konsistinsje flaters yn databank 'xxxx'.
Msg 824, nivo 24, steat 2, rigel 8
SQL Server ûntdekte in logyske konsistinsje-basearre I/O-flater: ferkearde kontrôlesum (ferwachte: 0xea8a9a2f; feitlik: 0x37adbff8). It barde tidens in lêzen fan side (1:28) yn databank ID 39 by offset 0x00000000038000 yn triem 'xxxx.mdf'. Oanfoljende berjochten yn 'e SQL Server flater log of systeem evenemint log kin mear detail. Dit is in swiere flaterbetingsten dy't de yntegriteit fan de database bedriget en moat fuortendaliks korrizjearre wurde. Folje in folsleine databankkonsistinsjekontrôle (DBCC CHECKDB). Dizze flater kin feroarsake wurde troch in protte faktoaren; foar mear ynformaasje, sjoch SQL Server Boeken online.

wêr't 'xxxx.mdf' namme is fan it korrupte MDF-bestân dat reparearre wurdt. Hoewol't CHECKDB seit

CHECKDB fûn 0 tawizing flaters en 0 konsistinsje flaters yn databank 'xxxx'.

Dit is noch altyd in konsistinsjeflater (Berjocht 824) yn 'e database.

Skermôfbylding fan flaterberjocht:

logyske konsistinsje-basearre I / O flater: ferkearde kontrôlesum

As de korrupsje slim is, dan sille d'r trochgeande flaterberjochten wêze (Berjocht 824), lykas hjirûnder:

Msg 824, nivo 24, steat 6, rigel 2 SQL Server ûntdutsen in logyske konsistinsje-basearre I / O flater: ferkearde kontrôlesum (ferwachte: 0x3d17dfef; feitlik: 0xd81748ef). It barde by in lêzen fan side (1:0) yn database ID 39 by offset 0000000000000000 yn triem 'xxxx.mdf'. Oanfoljende berjochten yn 'e SQL Server flater log of systeem evenemint log kin mear detail. Dit is in swiere flaterbetingsten dy't de yntegriteit fan de database bedriget en moat fuortendaliks korrizjearre wurde. Folje in folsleine databankkonsistinsjekontrôle (DBCC CHECKDB). Dizze flater kin feroarsake wurde troch in protte faktoaren; foar mear ynformaasje, sjoch SQL Server Boeken online.

Msg 824, nivo 24, steat 6, rigel 4 SQL Server ûntdutsen in logyske konsistinsje-basearre I / O flater: ferkearde kontrôlesum (ferwachte: 0x3d17dfef; feitlik: 0xd81748ef). It barde by in lêzen fan side (1:0) yn database ID 39 by offset 0000000000000000 yn triem 'xxxx.mdf'. Oanfoljende berjochten yn 'e SQL Server flater log of systeem evenemint log kin mear detail. Dit is in swiere flaterbetingsten dy't de yntegriteit fan de database bedriget en moat fuortendaliks korrizjearre wurde. Folje in folsleine databankkonsistinsjekontrôle (DBCC CHECKDB). Dizze flater kin feroarsake wurde troch in protte faktoaren; foar mear ynformaasje, sjoch SQL Server Boeken online.

wêr't 'xxxx.mdf' namme is fan it korrupte MDF-bestân dat reparearre wurdt.

Skermôfbylding fan flaterberjocht:

As de korrupsje slimmer is, kinne jo sjen Berjocht 7909 folget Berjocht 824:

DBCC-resultaten foar 'xxxx'.
CHECKDB fûn 0 tawizing flaters en 0 konsistinsje flaters yn databank 'xxxx'.
Msg 824, nivo 24, steat 2, rigel 8
SQL Server ûntdutsen in logyske konsistinsje-basearre I / O flater: ferkearde kontrôlesum (ferwachte: 0xcfcd2118; feitlik: 0x6fc599d6). It barde by in lêzen fan side (1:1) yn database ID 39 by offset 0x00000000002000 yn triem 'xxxx.mdf'. Oanfoljende berjochten yn 'e SQL Server flater log of systeem evenemint log kin mear detail. Dit is in swiere flaterbetingsten dy't de yntegriteit fan de database bedriget en moat fuortendaliks korrizjearre wurde. Folje in folsleine databankkonsistinsjekontrôle (DBCC CHECKDB). Dizze flater kin feroarsake wurde troch in protte faktoaren; foar mear ynformaasje, sjoch SQL Server Boeken online.
Msg 7909, nivo 20, steat 1, rigel 8
De need-modus reparaasje mislearre. Jo moatte weromsette út reservekopy.

wêr't 'xxxx' de databasenamme is en 'xxxx.mdf' de fysike triemnamme fan 'e database is.

Noat Berjocht 7909 is in slimme flater dy't kin foarkomme yn in protte situaasjes wannear SQL Server tink de databank is bûten herstel.

Skermôfbylding fan flaterberjocht:

Krekte útlis:

De gegevens yn MDF-bestân wurde opslein as 8KB siden. Elke side hat in opsjoneel kontrôlesumfjild.

As it kommando DBCC CHECKDB de kontrôlesumwearden fynt yn 'e koptekst, PFS-pagina en guon fan' e gegevenssiden binne ûnjildich en it kin it probleem net korrigearje, dan sil it dizze flater rapportearje (Berjocht 824). As it korrupsje slim is, kinne d'r trochgeande flaters wêze (Berjocht 824) of folge troch in oare flater (Berjocht 7909).

Jo kinne ús produkt brûke DataNumen SQL Recovery om de gegevens fan 'e korrupte MDF-bestân te herstellen en dizze flater op te lossen.

Sample triemmen:

Foarbyld fan korrupte MDF-bestannen dy't de flater feroarsaakje (Single Msg 824 flater):

SQL Server ferzje Korrupte MDF triem MDF triem fêst troch DataNumen SQL Recovery
SQL Server 2014 Error1_3.mdf Error1_3_fixed.mdf

Foarbyld fan korrupte MDF-bestannen dy't de flater feroarsaakje (Trochrinnende Msg 824 flaters):

SQL Server ferzje Korrupte MDF triem MDF triem fêst troch DataNumen SQL Recovery
SQL Server 2014 Error1_1.mdf Flater1_1_fixed.mdf

Foarbyld fan korrupte MDF-bestannen dy't de flater feroarsaakje (Msg 824 flater folge troch Msg 7909 flater):

SQL Server ferzje Korrupte MDF triem MDF triem fêst troch DataNumen SQL Recovery
SQL Server 2014 Error1_2.mdf Error1_2_fixed.mdf

 

Referinsjes:

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