Симптом:

Пайдаланған кезде DBCC CHECKDB бірге ЖӨНДЕУ_АЛУ_ДЕРЕКТЕРДІ_ЖОГЫТҚУ .MDF бүлінген дерекқорды қалпына келтіруге арналған параметр, мысалы:

DBCC CHECKDB (хххх, 'REPAIR_ALLOW_DATA_LOSS')

сіз келесі қате туралы хабарламаны көресіз:

DBCC нәтижелері 'xxxx'.
CHECKDB 'xxxx' мәліметтер базасында 0 бөлу қателігі мен 0 сәйкестік қатесін тапты.
Msg 824, Level 24, State 2, Line 8
SQL Server логикалық дәйектілікке негізделген енгізу-шығару қателігі анықталды: дұрыс емес сома (күтілген: 0xea8a9a2f; нақты: 0x37adbff8). Бұл 'xxxx.mdf' файлындағы 1x28 ығысу кезінде 39 деректер базасында парақты оқу кезінде (0:00000000038000) орын алды. Ішіндегі қосымша хабарламалар SQL Server қателіктер журналы немесе жүйелік оқиғалар журналы толығырақ ақпарат беруі мүмкін. Бұл дерекқордың тұтастығына қауіп төндіретін қателіктердің қатал шарты және оны тез арада түзету қажет. Дерекқордың толық сәйкестігін тексеруді аяқтаңыз (DBCC CHECKDB). Бұл қате көптеген факторлардың әсерінен болуы мүмкін; қосымша ақпарат алу үшін қараңыз SQL Server Интернеттегі кітаптар.

Мұндағы 'xxxx.mdf' - жөнделіп жатқан бүлінген MDF файлының атауы. CHECKDB айтады

CHECKDB 'xxxx' мәліметтер базасында 0 бөлу қателігі мен 0 сәйкестік қатесін тапты.

Бұл консистенция қателігі (Масс 824) мәліметтер базасында.

Қате туралы хабарламаның скриншоты:

логикалық дәйектілікке негізделген енгізу-шығару қателігі: дұрыс емес сома

Егер сыбайлас жемқорлық қатал болса, онда үздіксіз қателік туралы хабарламалар болады (Масс 824), төмендегідей:

Msg 824, Level 24, State 6, Line 2 SQL Server логикалық дәйектілікке негізделген енгізу-шығару қателігі анықталды: дұрыс емес сома (күтілген: 0x3d17dfef; нақты: 0xd81748ef). Бұл 'xxxx.mdf' файлындағы 1 ығысу кезінде 0 деректер базасында парақты оқу кезінде (39: 0000000000000000) орын алды. Ішіндегі қосымша хабарламалар SQL Server қателіктер журналы немесе жүйелік оқиғалар журналы толығырақ ақпарат беруі мүмкін. Бұл дерекқордың тұтастығына қауіп төндіретін қателіктердің қатал шарты және оны тез арада түзету қажет. Дерекқордың толық сәйкестігін тексеруді аяқтаңыз (DBCC CHECKDB). Бұл қате көптеген факторлардың әсерінен болуы мүмкін; қосымша ақпарат алу үшін қараңыз SQL Server Интернеттегі кітаптар.

Msg 824, Level 24, State 6, Line 4 SQL Server логикалық дәйектілікке негізделген енгізу-шығару қателігі анықталды: дұрыс емес сома (күтілген: 0x3d17dfef; нақты: 0xd81748ef). Бұл 'xxxx.mdf' файлындағы 1 ығысу кезінде 0 деректер базасында парақты оқу кезінде (39: 0000000000000000) орын алды. Ішіндегі қосымша хабарламалар SQL Server қателіктер журналы немесе жүйелік оқиғалар журналы толығырақ ақпарат беруі мүмкін. Бұл дерекқордың тұтастығына қауіп төндіретін қателіктердің қатал шарты және оны тез арада түзету қажет. Дерекқордың толық сәйкестігін тексеруді аяқтаңыз (DBCC CHECKDB). Бұл қате көптеген факторлардың әсерінен болуы мүмкін; қосымша ақпарат алу үшін қараңыз SQL Server Интернеттегі кітаптар.

Мұндағы 'xxxx.mdf' - жөнделіп жатқан бүлінген MDF файлының атауы.

Қате туралы хабарламаның скриншоты:

Егер сыбайлас жемқорлық қатал болса, сіз көре аласыз Масс 7909 төменде келтірілген Масс 824:

DBCC нәтижелері 'xxxx'.
CHECKDB 'xxxx' мәліметтер базасында 0 бөлу қателігі мен 0 сәйкестік қатесін тапты.
Msg 824, Level 24, State 2, Line 8
SQL Server логикалық дәйектілікке негізделген енгізу-шығару қателігі анықталды: дұрыс емес сома (күтілген: 0xcfcd2118; нақты: 0x6fc599d6). Бұл 'xxxx.mdf' файлындағы 1x1 ығысу кезінде 39 деректер базасында парақты (0: 00000000002000) оқу кезінде орын алды. Ішіндегі қосымша хабарламалар SQL Server қателіктер журналы немесе жүйелік оқиғалар журналы толығырақ ақпарат беруі мүмкін. Бұл дерекқордың тұтастығына қауіп төндіретін қателіктердің қатал шарты және оны тез арада түзету қажет. Дерекқордың толық сәйкестігін тексеруді аяқтаңыз (DBCC CHECKDB). Бұл қате көптеген факторлардың әсерінен болуы мүмкін; қосымша ақпарат алу үшін қараңыз SQL Server Интернеттегі кітаптар.
Msg 7909, Level 20, State 1, Line 8
Төтенше жағдай режимі жөнделмеді, сақтық көшірмеден қалпына келтіру керек.

Мұндағы 'xxxx' - мәліметтер базасының аты, ал 'xxxx.mdf' - мәліметтер базасының физикалық аты.

Ескерту Масс 7909 кез келген жағдайда пайда болуы мүмкін қателік SQL Server мәліметтер базасын қалпына келтіру мүмкін емес деп ойлаймын.

Қате туралы хабарламаның скриншоты:

Дәл түсіндірме:

MDF файлындағы деректер 8 КБ ретінде сақталады беттер. Әр бетте қосымша сома өрісі бар.

Егер DBCC CHECKDB пәрмені тақырып парағында, PFS парағында және кейбір деректер парақтарында бақылау сомасының мәндерін жарамсыз деп тапса және ол мәселені шеше алмаса, онда ол бұл қате туралы хабарлайды (Масс 824). Егер жемірлік қатты болса, үздіксіз қателіктер болуы мүмкін (Масс 824) немесе одан кейін тағы бір қате пайда болды (Масс 7909).

Сіз біздің өнімді пайдалана аласыз DataNumen SQL Recovery бүлінген MDF файлынан деректерді қалпына келтіру және осы қатені шешу.

Үлгілік файлдар:

Қате тудыратын бүлінген MDF файлдарының үлгісі (Бір Msg 824 қатесі):

SQL Server нұсқа Бүлінген MDF файлы MDF файлы арқылы бекітілген DataNumen SQL Recovery
SQL Server 2014 Қате1_3.mdf Қате1_3_fixed.mdf

Қате тудыратын бүлінген MDF файлдарының үлгісі (Үздіксіз Msg 824 қателері):

SQL Server нұсқа Бүлінген MDF файлы MDF файлы арқылы бекітілген DataNumen SQL Recovery
SQL Server 2014 Қате1_1.mdf Қате1_1_түзілген.mdf

Қате тудыратын бүлінген MDF файлдарының үлгісі (Msg 824 қатесі, одан кейін Msg 7909 қатесі):

SQL Server нұсқа Бүлінген MDF файлы MDF файлы арқылы бекітілген DataNumen SQL Recovery
SQL Server 2014 Қате1_2.mdf Қате1_2_fixed.mdf

 

Әдебиеттер тізімі:

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