Gejala:

Apabila menggunakan DBCC CHECKDB bersama PEMBAIKAN_ALLOW_DATA_LOSS parameter untuk memperbaiki pangkalan data .MDF yang rosak, seperti ini:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

anda melihat mesej ralat berikut:

Msg 824, Level 24, State 2, Line 2
SQL Server mengesan ralat I / O berdasarkan konsistensi logik: halamanid salah (dijangka 1: 143; sebenar 0: 9). Ia berlaku semasa pembacaan halaman (1: 143) dalam ID pangkalan data 39 pada offset 0x0000000011e000 dalam fail 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Mesej tambahan di SQL Server log ralat atau log peristiwa sistem mungkin memberikan lebih terperinci. Ini adalah keadaan ralat yang teruk yang mengancam integriti pangkalan data dan mesti diperbetulkan dengan segera. Lengkapkan pemeriksaan ketekalan pangkalan data penuh (DBCC CHECKDB) Kesalahan ini boleh disebabkan oleh banyak faktor; untuk maklumat lebih lanjut, lihat SQL Server Buku Dalam Talian.
Msg 3313, Level 21, State 1, Line 2
Semasa membuat semula operasi log dalam pangkalan data 'Error1', berlaku kesalahan pada ID rekod log (135: 752: 2). Biasanya, kegagalan tertentu sebelum ini dicatat sebagai kesalahan dalam perkhidmatan Log Peristiwa Windows. Pulihkan pangkalan data dari sandaran penuh, atau perbaiki pangkalan data.
Msg 3414, Level 21, State 1, Line 2
Kesalahan berlaku semasa pemulihan, menghalang pangkalan data 'Error1' (39: 0) dari restarting. Diagnosis kesalahan pemulihan dan perbaiki, atau pulihkan dari cadangan yang diketahui. Sekiranya kesalahan tidak diperbaiki atau diharapkan, hubungi Sokongan Teknikal.
Msg 824, Level 24, State 2, Line 2
SQL Server mengesan ralat I / O berdasarkan konsistensi logik: halamanid salah (dijangka 1: 160; 0:41 sebenar). Ia berlaku semasa pembacaan halaman (1: 160) dalam pangkalan data ID 39 pada offset 0x00000000140000 dalam fail 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Mesej tambahan di SQL Server log ralat atau log peristiwa sistem mungkin memberikan lebih terperinci. Ini adalah keadaan ralat yang teruk yang mengancam integriti pangkalan data dan mesti diperbetulkan dengan segera. Lengkapkan pemeriksaan ketekalan pangkalan data penuh (DBCC CHECKDB) Kesalahan ini boleh disebabkan oleh banyak faktor; untuk maklumat lebih lanjut, lihat SQL Server Buku Dalam Talian.
Msg 824, Level 24, State 2, Line 4
SQL Server mengesan ralat I / O berdasarkan konsistensi logik: halamanid salah (dijangka 1: 160; 0:41 sebenar). Ia berlaku semasa pembacaan halaman (1: 160) dalam pangkalan data ID 39 pada offset 0x00000000140000 dalam fail 'C: Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf '. Mesej tambahan di SQL Server log ralat atau log peristiwa sistem mungkin memberikan lebih terperinci. Ini adalah keadaan ralat yang teruk yang mengancam integriti pangkalan data dan mesti diperbetulkan dengan segera. Lengkapkan pemeriksaan ketekalan pangkalan data penuh (DBCC CHECKDB) Kesalahan ini boleh disebabkan oleh banyak faktor; untuk maklumat lebih lanjut, lihat SQL Server Buku Dalam Talian.

di mana 'Error1' adalah nama pangkalan data MDF yang rosak sedang diperbaiki.

Mesej 3313 menunjukkan operasi log tidak dapat dilakukan.

Tangkapan skrin mesej ralat:

Penjelasan tepat:

Apabila CHECKDB tidak dapat melakukan operasi log, ia akan melaporkan mesej ralat Mesej 3313 dan cuba perbaiki kesalahan. Sekiranya tidak dapat menyelesaikan ralat, pemulihan gagal dan akan menyebabkan lebih banyak kesalahan, seperti Msg 3414 dan Msg 824.

Anda boleh menggunakan produk kami DataNumen SQL Recovery untuk memulihkan data dari fail MDF yang rosak dan menyelesaikan ralat ini.

Fail Contoh:

Contoh fail MDF yang rosak yang akan menyebabkan Mesej 3313 kesilapan:

SQL Server versi Fail MDF rosak Fail MDF dibetulkan oleh DataNumen SQL Recovery
SQL Server 2014 Ralat9.mdf Ralat9_fixed.mdf

Rujukan: