Gejala:

Ketika menggunakan DBCC CHECKDB dengan PERBAIKAN_ALLOW_DATA_LOSS parameter untuk memperbaiki database .MDF yang rusak, seperti ini:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

Anda melihat pesan kesalahan berikut:

Hasil DBCC untuk 'xxxx'.
CHECKDB menemukan 0 kesalahan alokasi dan 0 kesalahan konsistensi dalam database 'xxxx'.
Msg 824, Tingkat 24, Negara 2, Garis 8
SQL Server mendeteksi kesalahan I / O berbasis konsistensi logis: checksum salah (diharapkan: 0xea8a9a2f; aktual: 0x37adbff8). Itu terjadi selama membaca halaman (1:28) di database ID 39 di offset 0x00000000038000 di file 'xxxx.mdf'. Pesan tambahan di SQL Server log kesalahan atau log peristiwa sistem dapat memberikan detail lebih lanjut. Ini adalah kondisi kesalahan parah yang mengancam integritas database dan harus segera diperbaiki. Selesaikan pemeriksaan konsistensi database lengkap (DBCC CHECKDB). Kesalahan ini bisa disebabkan oleh banyak faktor; untuk informasi lebih lanjut, lihat SQL Server Buku Online.

di mana 'xxxx.mdf' adalah nama file MDF yang rusak sedang diperbaiki. Meskipun CHECKDB mengatakan

CHECKDB menemukan 0 kesalahan alokasi dan 0 kesalahan konsistensi dalam database 'xxxx'.

Ini masih merupakan kesalahan konsistensi (Psn 824) di database.

Tangkapan layar pesan kesalahan:

kesalahan I / O berbasis konsistensi logis: checksum salah

Jika kerusakan parah, maka akan ada pesan kesalahan terus menerus (Psn 824), seperti di bawah ini:

Msg 824, Tingkat 24, Negara 6, Garis 2 SQL Server mendeteksi kesalahan I / O berbasis konsistensi logis: checksum salah (diharapkan: 0x3d17dfef; aktual: 0xd81748ef). Itu terjadi selama pembacaan halaman (1: 0) di database ID 39 di offset 0000000000000000 di file 'xxxx.mdf'. Pesan tambahan di SQL Server log kesalahan atau log peristiwa sistem dapat memberikan detail lebih lanjut. Ini adalah kondisi kesalahan parah yang mengancam integritas database dan harus segera diperbaiki. Selesaikan pemeriksaan konsistensi database lengkap (DBCC CHECKDB). Kesalahan ini bisa disebabkan oleh banyak faktor; untuk informasi lebih lanjut, lihat SQL Server Buku Online.

Msg 824, Tingkat 24, Negara 6, Garis 4 SQL Server mendeteksi kesalahan I / O berbasis konsistensi logis: checksum salah (diharapkan: 0x3d17dfef; aktual: 0xd81748ef). Itu terjadi selama pembacaan halaman (1: 0) di database ID 39 di offset 0000000000000000 di file 'xxxx.mdf'. Pesan tambahan di SQL Server log kesalahan atau log peristiwa sistem dapat memberikan detail lebih lanjut. Ini adalah kondisi kesalahan parah yang mengancam integritas database dan harus segera diperbaiki. Selesaikan pemeriksaan konsistensi database lengkap (DBCC CHECKDB). Kesalahan ini bisa disebabkan oleh banyak faktor; untuk informasi lebih lanjut, lihat SQL Server Buku Online.

di mana 'xxxx.mdf' adalah nama file MDF yang rusak sedang diperbaiki.

Tangkapan layar pesan kesalahan:

Jika korupsi lebih parah, Anda mungkin melihat Psn 7909 berikut Psn 824:

Hasil DBCC untuk 'xxxx'.
CHECKDB menemukan 0 kesalahan alokasi dan 0 kesalahan konsistensi dalam database 'xxxx'.
Msg 824, Tingkat 24, Negara 2, Garis 8
SQL Server mendeteksi kesalahan I / O berbasis konsistensi logis: checksum salah (diharapkan: 0xcfcd2118; aktual: 0x6fc599d6). Itu terjadi selama pembacaan halaman (1: 1) di database ID 39 di offset 0x00000000002000 di file 'xxxx.mdf'. Pesan tambahan di SQL Server log kesalahan atau log peristiwa sistem dapat memberikan detail lebih lanjut. Ini adalah kondisi kesalahan parah yang mengancam integritas database dan harus segera diperbaiki. Selesaikan pemeriksaan konsistensi database lengkap (DBCC CHECKDB). Kesalahan ini bisa disebabkan oleh banyak faktor; untuk informasi lebih lanjut, lihat SQL Server Buku Online.
Msg 7909, Tingkat 20, Negara 1, Garis 8
Perbaikan mode darurat gagal. Anda harus memulihkan dari cadangan.

di mana 'xxxx' adalah nama database dan 'xxxx.mdf' adalah nama file fisik database.

Note Psn 7909 adalah kesalahan parah yang dapat terjadi dalam banyak situasi kapan pun SQL Server berpikir bahwa database tidak dapat dipulihkan.

Tangkapan layar pesan kesalahan:

Penjelasan Tepat:

Data dalam file MDF disimpan sebagai 8KB halaman. Setiap halaman memiliki kolom checksum opsional.

Jika perintah DBCC CHECKDB menemukan nilai checksum di halaman header, halaman PFS dan beberapa halaman data tidak valid dan tidak dapat memperbaiki masalah, maka ia akan melaporkan kesalahan ini (Psn 824). Jika korupnya parah, mungkin ada kesalahan terus menerus (Psn 824) atau diikuti dengan kesalahan lain (Psn 7909).

Anda dapat menggunakan produk kami DataNumen SQL Recovery untuk memulihkan data dari file MDF yang rusak dan mengatasi kesalahan ini.

File Contoh:

Contoh file MDF yang rusak yang akan menyebabkan kesalahan (Kesalahan pesan tunggal 824):

SQL Server versi File MDF rusak File MDF diperbaiki oleh DataNumen SQL Recovery
SQL Server 2014 Kesalahan1_3.mdf Kesalahan1_3_fixed.mdf

Contoh file MDF yang rusak yang akan menyebabkan kesalahan (Kesalahan pesan terus menerus 824):

SQL Server versi File MDF rusak File MDF diperbaiki oleh DataNumen SQL Recovery
SQL Server 2014 Kesalahan1_1.mdf Kesalahan1_1_fixed.mdf

Contoh file MDF yang rusak yang akan menyebabkan kesalahan (Kesalahan pesan 824 diikuti dengan kesalahan Pesan 7909):

SQL Server versi File MDF rusak File MDF diperbaiki oleh DataNumen SQL Recovery
SQL Server 2014 Kesalahan1_2.mdf Kesalahan1_2_fixed.mdf

 

Referensi:

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