Gejala:

Nalika nggunakake DBCC CHECKDB karo REPAIR_ALLOW_DATA_LOSS parameter kanggo ndandani database .MDF sing rusak, kaya iki:

DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')

sampeyan ndeleng pesen kesalahan ing ngisor iki:

Asil DBCC kanggo 'xxxx'.
CHECKDB nemokake 0 kasalahan alokasi lan 0 kesalahan konsistensi ing database 'xxxx'.
Msg 824, Level 24, State 2, Line 8
SQL Server ndeteksi kesalahan I/O adhedhasar konsistensi logis: checksum salah (karepake: 0xea8a9a2f; aktual: 0x37adbff8). Iki kedadeyan nalika maca kaca (1:28) ing database ID 39 ing offset 0x00000000038000 ing file 'xxxx.mdf'. Pesen tambahan ing SQL Server log kesalahan utawa log acara sistem bisa menehi rincian liyane. Iki minangka kondisi kesalahan abot sing ngancam integritas database lan kudu didandani langsung. Rampungake mriksa konsistensi database lengkap (DBCC CHECKDB). Kesalahan iki bisa disebabake dening akeh faktor; kanggo informasi luwih lengkap, ndeleng SQL Server Buku Online.

ngendi 'xxxx.mdf' iku jeneng berkas MDF rusak sing didandani. Senajan CHECKDB ngandika

CHECKDB nemokake 0 kasalahan alokasi lan 0 kesalahan konsistensi ing database 'xxxx'.

Iki isih kesalahan konsistensi (Msg 824) ing database.

Screenshot pesen kesalahan:

kesalahan I/O basis konsistensi logis: checksum salah

Yen korupsi parah, banjur bakal ana pesen kesalahan sing terus-terusan (Msg 824), kaya ing ngisor iki:

Msg 824, Level 24, State 6, Line 2 SQL Server ndeteksi kesalahan I / O adhedhasar konsistensi logis: checksum salah (karep: 0x3d17dfef; nyata: 0xd81748ef). Iki kedadeyan nalika maca kaca (1: 0) ing database ID 39 ing offset 0000000000000000 ing file 'xxxx.mdf'. Pesen tambahan ing SQL Server log kesalahan utawa log acara sistem bisa menehi rincian liyane. Iki minangka kondisi kesalahan abot sing ngancam integritas database lan kudu didandani langsung. Rampungake mriksa konsistensi database lengkap (DBCC CHECKDB). Kesalahan iki bisa disebabake dening akeh faktor; kanggo informasi luwih lengkap, ndeleng SQL Server Buku Online.

Msg 824, Level 24, State 6, Line 4 SQL Server ndeteksi kesalahan I / O adhedhasar konsistensi logis: checksum salah (karep: 0x3d17dfef; nyata: 0xd81748ef). Iki kedadeyan nalika maca kaca (1: 0) ing database ID 39 ing offset 0000000000000000 ing file 'xxxx.mdf'. Pesen tambahan ing SQL Server log kesalahan utawa log acara sistem bisa menehi rincian liyane. Iki minangka kondisi kesalahan abot sing ngancam integritas database lan kudu didandani langsung. Rampungake mriksa konsistensi database lengkap (DBCC CHECKDB). Kesalahan iki bisa disebabake dening akeh faktor; kanggo informasi luwih lengkap, ndeleng SQL Server Buku Online.

ngendi 'xxxx.mdf' iku jeneng berkas MDF rusak sing didandani.

Screenshot pesen kesalahan:

Yen korupsi luwih abot, sampeyan bisa ndeleng Msg 7909 nderek Msg 824:

Asil DBCC kanggo 'xxxx'.
CHECKDB nemokake 0 kasalahan alokasi lan 0 kesalahan konsistensi ing database 'xxxx'.
Msg 824, Level 24, State 2, Line 8
SQL Server ndeteksi kesalahan I / O adhedhasar konsistensi logis: checksum salah (kaarep: 0xcfcd2118; nyata: 0x6fc599d6). Iki kedadeyan nalika maca kaca (1: 1) ing basis data ID 39 ing offset 0x00000000002000 ing file 'xxxx.mdf'. Pesen tambahan ing SQL Server log kesalahan utawa log acara sistem bisa menehi rincian liyane. Iki minangka kondisi kesalahan abot sing ngancam integritas database lan kudu didandani langsung. Rampungake mriksa konsistensi database lengkap (DBCC CHECKDB). Kesalahan iki bisa disebabake dening akeh faktor; kanggo informasi luwih lengkap, ndeleng SQL Server Buku Online.
Msg 7909, Level 20, State 1, Line 8
Diposaken mode darurat gagal. Sampeyan kudu mulihake saka serep.

ngendi 'xxxx' iku jeneng database lan 'xxxx.mdf' iku jeneng file fisik database.

cathetan Msg 7909 minangka kesalahan abot sing bisa kedadeyan ing pirang-pirang kahanan kapan wae SQL Server mikir database ngluwihi Recovery.

Screenshot pesen kesalahan:

Panjelasan sing tepat:

Data ing file MDF disimpen minangka 8KB kaca. Saben kaca nduweni kolom checksum opsional.

Yen printah DBCC CHECKDB nemokake nilai checksum ing kaca header, kaca PFS lan sawetara kaca data ora bener lan ora bisa mbenerake masalah kasebut, banjur bakal nglaporake kesalahan iki (Msg 824). Yen korupsi parah, bisa uga ana kesalahan sing terus-terusan (Msg 824) utawa diterusake kesalahan liyane (Msg 7909).

Sampeyan bisa nggunakake produk kita DataNumen SQL Recovery kanggo waras data saka file MDF ngrusak lan ngatasi kesalahan iki.

File Sample:

Sampel file MDF sing rusak sing bakal nyebabake kesalahan (Single Msg 824 kesalahan):

SQL Server versi File MDF sing rusak MDF file didandani dening DataNumen SQL Recovery
SQL Server 2014 Error1_3.mdf Error1_3_fixed.mdf

Sampel file MDF sing rusak sing bakal nyebabake kesalahan (Kesalahan Pesen 824 sing terus-terusan):

SQL Server versi File MDF sing rusak MDF file didandani dening DataNumen SQL Recovery
SQL Server 2014 Error1_1.mdf Kesalahan1_1_fixed.mdf

Sampel file MDF sing rusak sing bakal nyebabake kesalahan (Kesalahan pesen 824 banjur kesalahan pesen 7909):

SQL Server versi File MDF sing rusak MDF file didandani dening DataNumen SQL Recovery
SQL Server 2014 Error1_2.mdf Error1_2_fixed.mdf

 

Cathetan:

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