Semptom:

Foydalanishda DBCC CHECKDB bilan REPAIR_ALLOW_DATA_LOSS buzilgan .MDF ma'lumotlar bazasini tuzatish parametri, shunga o'xshash:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

quyidagi xato xabarini ko'rasiz:

"Xxxx" uchun DBCC natijalari.
CHECKDB "xxxx" ma'lumotlar bazasida 0 ta ajratish va 0 ta xatolik aniqlandi.
Msg 824, 24-daraja, 2-holat, 8-qator
SQL Server mantiqiy barqarorlikka asoslangan I / U xatosi aniqlandi: noto'g'ri sum (kutilgan: 0xea8a9a2f; haqiqiy: 0x37adbff8). Bu "xxxx.mdf" faylida 1x28 ofsetda 39-ma'lumotlar bazasida sahifani o'qishda (0:00000000038000) sodir bo'ldi. Qo'shimcha xabarlar SQL Server xatolar jurnali yoki tizim voqealari jurnali batafsil ma'lumot berishi mumkin. Bu ma'lumotlar bazasining yaxlitligiga tahdid soladigan jiddiy xato holati va uni darhol tuzatish kerak. Ma'lumotlar bazasining to'liq tekshirilishini to'ldiring (DBCC CHECKDB). Ushbu xato ko'plab omillarga olib kelishi mumkin; qo'shimcha ma'lumot olish uchun qarang SQL Server Onlayn kitoblar.

bu erda "xxxx.mdf" - buzilayotgan MDF faylining nomi. CHECKDB aytgan bo'lsa-da

CHECKDB "xxxx" ma'lumotlar bazasida 0 ta ajratish va 0 ta xatolik aniqlandi.

Bu hali ham qat'iylik xatosi (MSG 824) ma'lumotlar bazasida.

Xato haqidagi xabarning skrinshoti:

mantiqiy barqarorlikka asoslangan I / U xatosi: noto'g'ri sum

Agar korruptsiya jiddiy bo'lsa, unda doimiy xato xabarlar paydo bo'ladi (MSG 824), quyidagi kabi:

Msg 824, 24-daraja, 6-holat, 2-qator SQL Server mantiqiy barqarorlikka asoslangan I / U xatosi aniqlandi: noto'g'ri summa (kutilgan: 0x3d17dfef; haqiqiy: 0xd81748ef). Bu "xxxx.mdf" faylida 1 ofsetda 0-ma'lumotlar bazasida sahifani o'qishda (39: 0000000000000000) sodir bo'ldi. Qo'shimcha xabarlar SQL Server xatolar jurnali yoki tizim voqealari jurnali batafsil ma'lumot berishi mumkin. Bu ma'lumotlar bazasining yaxlitligiga tahdid soladigan jiddiy xato holati va uni darhol tuzatish kerak. Ma'lumotlar bazasining to'liq tekshirilishini to'ldiring (DBCC CHECKDB). Ushbu xato ko'plab omillarga olib kelishi mumkin; qo'shimcha ma'lumot olish uchun qarang SQL Server Onlayn kitoblar.

Msg 824, 24-daraja, 6-holat, 4-qator SQL Server mantiqiy barqarorlikka asoslangan I / U xatosi aniqlandi: noto'g'ri summa (kutilgan: 0x3d17dfef; haqiqiy: 0xd81748ef). Bu "xxxx.mdf" faylida 1 ofsetda 0-ma'lumotlar bazasida sahifani o'qishda (39: 0000000000000000) sodir bo'ldi. Qo'shimcha xabarlar SQL Server xatolar jurnali yoki tizim voqealari jurnali batafsil ma'lumot berishi mumkin. Bu ma'lumotlar bazasining yaxlitligiga tahdid soladigan jiddiy xato holati va uni darhol tuzatish kerak. Ma'lumotlar bazasining to'liq tekshirilishini to'ldiring (DBCC CHECKDB). Ushbu xato ko'plab omillarga olib kelishi mumkin; qo'shimcha ma'lumot olish uchun qarang SQL Server Onlayn kitoblar.

bu erda 'xxxx.mdf' - buzilayotgan MDF faylining nomi.

Xato haqidagi xabarning skrinshoti:

Agar korruptsiya yanada jiddiyroq bo'lsa, ko'rishingiz mumkin MSG 7909 quyida keltirilgan MSG 824:

"Xxxx" uchun DBCC natijalari.
CHECKDB "xxxx" ma'lumotlar bazasida 0 ta ajratish va 0 ta xatolik aniqlandi.
Msg 824, 24-daraja, 2-holat, 8-qator
SQL Server mantiqiy qat'iylikka asoslangan I / U xatosini aniqladi: noto'g'ri sum (kutilgan: 0xcfcd2118; haqiqiy: 0x6fc599d6). Bu "xxxx.mdf" faylidagi 1x1 ofsetidagi 39-ma'lumotlar bazasida (0: 00000000002000) sahifani o'qish paytida yuz berdi. Qo'shimcha xabarlar SQL Server xatolar jurnali yoki tizim voqealari jurnali batafsil ma'lumot berishi mumkin. Bu ma'lumotlar bazasining yaxlitligiga tahdid soladigan jiddiy xato holati va uni darhol tuzatish kerak. Ma'lumotlar bazasining to'liq tekshirilishini to'ldiring (DBCC CHECKDB). Ushbu xato ko'plab omillarga olib kelishi mumkin; qo'shimcha ma'lumot olish uchun qarang SQL Server Onlayn kitoblar.
Msg 7909, 20-daraja, 1-holat, 8-qator
Favqulodda vaziyatni tiklash amalga oshmadi, zaxira nusxasini tiklashingiz kerak.

bu erda 'xxxx' ma'lumotlar bazasi nomi va 'xxxx.mdf' ma'lumotlar bazasining fizik nomi.

Eslatma MSG 7909 har doim ko'p holatlarda yuzaga kelishi mumkin bo'lgan jiddiy xato SQL Server ma'lumotlar bazasini tiklashdan tashqari deb o'ylayman.

Xato haqidagi xabarning skrinshoti:

Bo'sh

Aniq tushuntirish:

MDF faylidagi ma'lumotlar 8KB sifatida saqlanadi sahifalar. Har bir sahifada ixtiyoriy nazorat summasi maydoni mavjud.

Agar DBCC CHECKDB buyrug'i sarlavha sahifasida, PFS sahifasida va ba'zi ma'lumotlar sahifalarida tekshiruv summasi qiymatlarini yaroqsiz deb topsa va bu muammoni bartaraf eta olmasa, u holda bu xato haqida xabar beradi (MSG 824). Agar korrupton jiddiy bo'lsa, doimiy xatolar bo'lishi mumkin (MSG 824) yoki undan keyin yana bir xato (MSG 7909).

Siz bizning mahsulotimizdan foydalanishingiz mumkin DataNumen SQL Recovery buzilgan MDF faylidan ma'lumotlarni qayta tiklash va ushbu xatoni hal qilish.

Namuna fayllari:

Xatoga olib keladigan buzuq MDF fayllarining namunasi (Yagona Msg 824 xatosi):

SQL Server versiya Buzuq MDF fayli MDF fayli tomonidan o'rnatildi DataNumen SQL Recovery
SQL Server 2014 Xato1_3.mdf Xato1_3_fixed.mdf

Xatoga olib keladigan buzuq MDF fayllarining namunasi (Doimiy Msg 824 xatolari):

SQL Server versiya Buzuq MDF fayli MDF fayli tomonidan o'rnatildi DataNumen SQL Recovery
SQL Server 2014 Xato1_1.mdf Xato1_1_fixed.mdf

Xatoga olib keladigan buzuq MDF fayllarining namunasi (Msg 824 xatosi, keyin Msg 7909 xatosi):

SQL Server versiya Buzuq MDF fayli MDF fayli tomonidan o'rnatildi DataNumen SQL Recovery
SQL Server 2014 Xato1_2.mdf Xato1_2_fixed.mdf

 

Manbalar:

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