Simptomo:

Kiam vi uzas DBCC CHECKDB kun REPAIR_ALLOW_DATA_LOSS parametro por ripari koruptitan .MDF-datumbazon, tiel:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

vi vidas la jenan erarmesaĝon:

DBCC-rezultoj por 'xxxx'.
CHECKDB trovis 0 asignajn erarojn kaj 0 konsekvencajn erarojn en datumbazo 'xxxx'.
Msg 824, Nivelo 24, Ŝtato 2, Linio 8
SQL Server detektis logikan konsistencan I / O-eraron: malĝusta kontrolsumo (atendata: 0xea8a9a2f; reala: 0x37adbff8). Ĝi okazis dum legado de paĝo (1:28) en datumbazo ID 39 ĉe ofseto 0x00000000038000 en dosiero 'xxxx.mdf'. Pliaj mesaĝoj en la SQL Server erarregistro aŭ sistemo-eventregistro povas doni pli da detaloj. Ĉi tio estas severa erara stato, kiu minacas datumbazan integrecon kaj devas esti korektita tuj. Kompletigu plenan datumbazan konsistencan kontrolon (DBCC CHECKDB). Ĉi tiu eraro povas esti kaŭzita de multaj faktoroj; por pliaj informoj, vidu SQL Server Libroj Interrete.

kie 'xxxx.mdf' estas nomo de la riparita MDF-dosiero riparota. Kvankam CHECKDB diras

CHECKDB trovis 0 asignajn erarojn kaj 0 konsekvencajn erarojn en datumbazo 'xxxx'.

Ĉi tio ankoraŭ estas konstanta eraro (Msg 824) en la datumbazo.

Ekrankopio de erarmesaĝo:

logika konsistenca I-O-eraro: malĝusta kontrolsumo

Se la korupto estas severa, tiam estos kontinuaj erarmesaĝoj (Msg 824), kiel sube:

Msg 824, Nivelo 24, Ŝtato 6, Linio 2 SQL Server detektis logikan konsistencan I / O-eraron: malĝusta kontrolsumo (atendata: 0x3d17dfef; reala: 0xd81748ef). Ĝi okazis dum legado de paĝo (1: 0) en datumbaza ID 39 ĉe ofseto 0000000000000000 en dosiero 'xxxx.mdf'. Pliaj mesaĝoj en la SQL Server erarregistro aŭ sistemo-eventregistro povas doni pli da detaloj. Ĉi tio estas severa erara stato, kiu minacas datumbazan integrecon kaj devas esti korektita tuj. Kompletigu plenan datumbazan konsistencan kontrolon (DBCC CHECKDB). Ĉi tiu eraro povas esti kaŭzita de multaj faktoroj; por pliaj informoj, vidu SQL Server Libroj Interrete.

Msg 824, Nivelo 24, Ŝtato 6, Linio 4 SQL Server detektis logikan konsistencan I / O-eraron: malĝusta kontrolsumo (atendata: 0x3d17dfef; reala: 0xd81748ef). Ĝi okazis dum legado de paĝo (1: 0) en datumbaza ID 39 ĉe ofseto 0000000000000000 en dosiero 'xxxx.mdf'. Pliaj mesaĝoj en la SQL Server erarregistro aŭ sistemo-eventregistro povas doni pli da detaloj. Ĉi tio estas severa erara stato, kiu minacas datumbazan integrecon kaj devas esti korektita tuj. Kompletigu plenan datumbazan konsistencan kontrolon (DBCC CHECKDB). Ĉi tiu eraro povas esti kaŭzita de multaj faktoroj; por pliaj informoj, vidu SQL Server Libroj Interrete.

kie 'xxxx.mdf' estas nomo de la riparita MDF-dosiero.

Ekrankopio de erarmesaĝo:

malplena

Se la koruptado estas pli severa, vi eble vidos Msg 7909 sekvas Msg 824:

DBCC-rezultoj por 'xxxx'.
CHECKDB trovis 0 asignajn erarojn kaj 0 konsekvencajn erarojn en datumbazo 'xxxx'.
Msg 824, Nivelo 24, Ŝtato 2, Linio 8
SQL Server detektis logikan konsistencan I / O-eraron: malĝusta kontrolsumo (atendata: 0xcfcd2118; reala: 0x6fc599d6). Ĝi okazis dum legado de paĝo (1: 1) en datumbaza ID 39 ĉe ofseto 0x00000000002000 en dosiero 'xxxx.mdf'. Pliaj mesaĝoj en la SQL Server erarregistro aŭ sistemo-eventregistro povas doni pli da detaloj. Ĉi tio estas severa erara stato, kiu minacas datumbazan integrecon kaj devas esti korektita tuj. Kompletigu plenan datumbazan konsistencan kontrolon (DBCC CHECKDB). Ĉi tiu eraro povas esti kaŭzita de multaj faktoroj; por pliaj informoj, vidu SQL Server Libroj Interrete.
Msg 7909, Nivelo 20, Ŝtato 1, Linio 8
La ripara reĝimo fiaskis. Vi devas restarigi post rezervo.

kie 'xxxx' estas la nomo de la datumbazo kaj 'xxxx.mdf' estas la fizika dosiernomo de la datumbazo.

noto Msg 7909 estas severa eraro, kiu povas okazi en multaj situacioj kiam ajn SQL Server pensu, ke la datumbazo superas normalon.

Ekrankopio de erarmesaĝo:

malplena

Preciza Klarigo:

La datumoj en MDF-dosiero estas konservitaj kiel 8KB paĝoj. Ĉiu paĝo havas laŭvolan ĉeksumkampon.

Se la komando DBCC CHECKDB trovas la kontrolajn sumojn en la kappaĝo, PFS-paĝo kaj iuj el la datumaj paĝoj estas malvalidaj kaj ĝi ne povas korekti la problemon, tiam ĝi raportos ĉi tiun eraron (Msg 824). Se la koruptono estas severa, povas esti kontinuaj eraroj (Msg 824) aŭ sekvita de alia eraro (Msg 7909).

Vi povas uzi nian produkton DataNumen SQL Recovery retrovi la datumojn de la koruptita MDF-dosiero kaj solvi ĉi tiun eraron.

Ekzemplaj dosieroj:

Ekzemplu koruptitajn MDF-dosierojn, kiuj kaŭzos la eraron (Ununura Msg 824-eraro):

SQL Server versio Koruptita MDF-dosiero MDF-dosiero riparita de DataNumen SQL Recovery
SQL Server 2014 Eraro1_3.mdf Eraro1_3_fixed.mdf

Ekzemplu koruptitajn MDF-dosierojn, kiuj kaŭzos la eraron (Kontinuaj Msg 824-eraroj):

SQL Server versio Koruptita MDF-dosiero MDF-dosiero riparita de DataNumen SQL Recovery
SQL Server 2014 Eraro1_1.mdf Eraro1_1_korektita.mdf

Ekzemplu koruptitajn MDF-dosierojn, kiuj kaŭzos la eraron (Msg 824-eraro sekvita de Msg-7909-eraro):

SQL Server versio Koruptita MDF-dosiero MDF-dosiero riparita de DataNumen SQL Recovery
SQL Server 2014 Eraro1_2.mdf Eraro1_2_fixed.mdf

 

referencoj:

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