Symptoom:

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

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

jo sjogge it folgjende flaterberjocht:

DBCC-resultaten foar 'xxxx'.
CHECKDB fûn 0 allocaasjefouten en 0 konsistinsyfouten yn database 'xxxx'.
Msg 824, nivo 24, steat 2, rigel 8
SQL Server in logyske konsistinsje-basearre I / O-flater ûntdutsen: ferkearde kontrôlesom (ferwachte: 0xea8a9a2f; feitlik: 0x37adbff8). It barde by in lêzing fan side (1:28) yn database ID 39 by kompensaasje 0x00000000038000 yn bestân 'xxxx.mdf'. Oanfoljende berjochten yn 'e SQL Server flater log of systeem barren log kin mear details leverje. Dit is in earnstige flaterbetingst dy't de yntegriteit fan de database bedriget en fuortendaliks moat wurde korrizjearre. Folje in folsleine kontrôle fan databankekonsistinsje (DBCC CHECKDB). Dizze flater kin wurde feroarsake troch in protte faktoaren; foar mear ynformaasje, sjoch SQL Server Boeken online.

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

CHECKDB fûn 0 allocaasjefouten en 0 konsistinsyfouten yn database 'xxxx'.

Dit is noch in konsekwinsjeflater (Msg 824) yn 'e databank.

Skermprint fan flater berjocht:

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

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

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

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

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

Skermprint fan flater berjocht:

As de korrupsje hurder is, kinne jo sjen Msg 7909 folget Msg 824:

DBCC-resultaten foar 'xxxx'.
CHECKDB fûn 0 allocaasjefouten en 0 konsistinsyfouten yn database 'xxxx'.
Msg 824, nivo 24, steat 2, rigel 8
SQL Server in logyske konsistinsje-basearre I / O-flater ûntdutsen: ferkearde kontrôlesom (ferwachte: 0xcfcd2118; feitlik: 0x6fc599d6). It barde by in lêzing fan side (1: 1) yn database ID 39 by kompensaasje 0x00000000002000 yn bestân 'xxxx.mdf'. Oanfoljende berjochten yn 'e SQL Server flater log of systeem barren log kin mear details leverje. Dit is in earnstige flaterbetingst dy't de yntegriteit fan de database bedriget en fuortendaliks moat wurde korrizjearre. Folje in folsleine kontrôle fan databankekonsistinsje (DBCC CHECKDB). Dizze flater kin wurde feroarsake troch in protte faktoaren; foar mear ynformaasje, sjoch SQL Server Boeken online.
Msg 7909, nivo 20, steat 1, rigel 8
De reparaasje fan de needmodus is mislearre. Jo moatte werstelle fanút de reservekopy.

wêr 'xxxx' de databanknamme is en 'xxxx.mdf' de fysike bestânsnamme fan de database is.

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

Skermprint fan flater berjocht:

leech

Precise Taljochting:

De gegevens yn MDF-bestân wurde opslein as 8KB siden, Elke pagina hat in opsjoneel fjild foar kontrôle.

As it kommando DBCC CHECKDB de kontrolesumwearden fynt yn 'e koptekstside, PFS-pagina en guon fan' e gegevenspagina's binne ûnjildich en it kin it probleem net ferbetterje, dan rapporteart dizze flater (Msg 824). As it corrupton swier is, kinne d'r kontinu erros wêze (Msg 824) of folge troch in oare flater (Msg 7909).

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

Foarbyldbestannen:

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

SQL Server ferzje Korrupt MDF-bestân MDF-bestân fêst troch DataNumen SQL Recovery
SQL Server 2014 Flater1_3.mdf Flater1_3_fixed.mdf

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

SQL Server ferzje Korrupt MDF-bestân MDF-bestân fêst troch DataNumen SQL Recovery
SQL Server 2014 Flater1_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 Korrupt MDF-bestân MDF-bestân fêst troch DataNumen SQL Recovery
SQL Server 2014 Flater1_2.mdf Flater1_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