อาการ:

เมื่อใช้ DBCC CHECKDB กับ ซ่อมแซม_ALLOW_DATA_LOSS พารามิเตอร์เพื่อซ่อมแซมฐานข้อมูล. MDF ที่เสียหายเช่นนี้:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

คุณเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้:

ผลลัพธ์ DBCC สำหรับ "xxxx"
CHECKDB พบข้อผิดพลาดในการจัดสรร 0 ข้อและข้อผิดพลาดความสอดคล้อง 0 ในฐานข้อมูล "xxxx"
ข่าวสารเกี่ยวกับ 824 ระดับ 24 สถานะ 2 บรรทัด 8
SQL Server ตรวจพบข้อผิดพลาด I / O ที่ยึดตามความสอดคล้องเชิงตรรกะ: การตรวจสอบที่ไม่ถูกต้อง (คาดว่า: 0xea8a9a2f; จริง: 0x37adbff8) เกิดขึ้นระหว่างการอ่านหน้า (1:28) ในฐานข้อมูล ID 39 ที่ออฟเซ็ต 0x00000000038000 ในไฟล์ 'xxxx.mdf' ข้อความเพิ่มเติมใน SQL Server บันทึกข้อผิดพลาดหรือบันทึกเหตุการณ์ของระบบอาจให้รายละเอียดเพิ่มเติม นี่เป็นเงื่อนไขข้อผิดพลาดขั้นรุนแรงที่คุกคามความสมบูรณ์ของฐานข้อมูลและต้องได้รับการแก้ไขทันที ตรวจสอบความสอดคล้องของฐานข้อมูลแบบเต็ม (DBCC CHECKDB) ข้อผิดพลาดนี้อาจเกิดจากหลายปัจจัย สำหรับข้อมูลเพิ่มเติมโปรดดู SQL Server หนังสือออนไลน์

โดยที่ 'xxxx.mdf' เป็นชื่อของไฟล์ MDF ที่เสียหายที่กำลังซ่อมแซม แม้ว่า CHECKDB จะกล่าวว่า

CHECKDB พบข้อผิดพลาดในการจัดสรร 0 ข้อและข้อผิดพลาดความสอดคล้อง 0 ในฐานข้อมูล "xxxx"

นี่ยังคงเป็นข้อผิดพลาดที่สอดคล้องกัน (ข่าวสารเกี่ยวกับ 824) ในฐานข้อมูล

ภาพหน้าจอของข้อความแสดงข้อผิดพลาด:

ข้อผิดพลาด I / O ที่อิงตามความสอดคล้องเชิงตรรกะ: การตรวจสอบที่ไม่ถูกต้อง

หากความเสียหายรุนแรงจะมีข้อความแสดงข้อผิดพลาดต่อเนื่อง (ข่าวสารเกี่ยวกับ 824), ดังต่อไปนี้:

ข่าวสารเกี่ยวกับ 824 ระดับ 24 สถานะ 6 บรรทัด 2 SQL Server ตรวจพบข้อผิดพลาด I / O ที่อิงตามความสอดคล้องทางตรรกะ: การตรวจสอบที่ไม่ถูกต้อง (คาดว่า: 0x3d17dfef; จริง: 0xd81748ef) เกิดขึ้นระหว่างการอ่านเพจ (1: 0) ในฐานข้อมูล ID 39 ที่ออฟเซ็ต 0000000000000000 ในไฟล์ 'xxxx.mdf' ข้อความเพิ่มเติมใน SQL Server บันทึกข้อผิดพลาดหรือบันทึกเหตุการณ์ของระบบอาจให้รายละเอียดเพิ่มเติม นี่เป็นเงื่อนไขข้อผิดพลาดขั้นรุนแรงที่คุกคามความสมบูรณ์ของฐานข้อมูลและต้องได้รับการแก้ไขทันที ตรวจสอบความสอดคล้องของฐานข้อมูลแบบเต็ม (DBCC CHECKDB) ข้อผิดพลาดนี้อาจเกิดจากหลายปัจจัย สำหรับข้อมูลเพิ่มเติมโปรดดู SQL Server หนังสือออนไลน์

ข่าวสารเกี่ยวกับ 824 ระดับ 24 สถานะ 6 บรรทัด 4 SQL Server ตรวจพบข้อผิดพลาด I / O ที่อิงตามความสอดคล้องทางตรรกะ: การตรวจสอบที่ไม่ถูกต้อง (คาดว่า: 0x3d17dfef; จริง: 0xd81748ef) เกิดขึ้นระหว่างการอ่านเพจ (1: 0) ในฐานข้อมูล ID 39 ที่ออฟเซ็ต 0000000000000000 ในไฟล์ 'xxxx.mdf' ข้อความเพิ่มเติมใน SQL Server บันทึกข้อผิดพลาดหรือบันทึกเหตุการณ์ของระบบอาจให้รายละเอียดเพิ่มเติม นี่เป็นเงื่อนไขข้อผิดพลาดขั้นรุนแรงที่คุกคามความสมบูรณ์ของฐานข้อมูลและต้องได้รับการแก้ไขทันที ตรวจสอบความสอดคล้องของฐานข้อมูลแบบเต็ม (DBCC CHECKDB) ข้อผิดพลาดนี้อาจเกิดจากหลายปัจจัย สำหรับข้อมูลเพิ่มเติมโปรดดู SQL Server หนังสือออนไลน์

โดยที่ 'xxxx.mdf' เป็นชื่อของไฟล์ MDF ที่เสียหายที่กำลังซ่อมแซม

ภาพหน้าจอของข้อความแสดงข้อผิดพลาด:

หากการทุจริตรุนแรงขึ้นคุณอาจเห็น ข่าวสารเกี่ยวกับ 7909 ดังต่อไปนี้ ข่าวสารเกี่ยวกับ 824:

ผลลัพธ์ DBCC สำหรับ "xxxx"
CHECKDB พบข้อผิดพลาดในการจัดสรร 0 ข้อและข้อผิดพลาดความสอดคล้อง 0 ในฐานข้อมูล "xxxx"
ข่าวสารเกี่ยวกับ 824 ระดับ 24 สถานะ 2 บรรทัด 8
SQL Server ตรวจพบข้อผิดพลาด I / O ตามความสอดคล้องเชิงตรรกะ: การตรวจสอบที่ไม่ถูกต้อง (คาดว่า: 0xcfcd2118; จริง: 0x6fc599d6) เกิดขึ้นระหว่างการอ่านเพจ (1: 1) ใน ID ฐานข้อมูล 39 ที่ออฟเซ็ต 0x00000000002000 ในไฟล์ 'xxxx.mdf' ข้อความเพิ่มเติมใน SQL Server บันทึกข้อผิดพลาดหรือบันทึกเหตุการณ์ของระบบอาจให้รายละเอียดเพิ่มเติม นี่เป็นเงื่อนไขข้อผิดพลาดขั้นรุนแรงที่คุกคามความสมบูรณ์ของฐานข้อมูลและต้องได้รับการแก้ไขทันที ตรวจสอบความสอดคล้องของฐานข้อมูลแบบเต็ม (DBCC CHECKDB) ข้อผิดพลาดนี้อาจเกิดจากหลายปัจจัย สำหรับข้อมูลเพิ่มเติมโปรดดู SQL Server หนังสือออนไลน์
ข่าวสารเกี่ยวกับ 7909 ระดับ 20 สถานะ 1 บรรทัด 8
การซ่อมแซมโหมดฉุกเฉินล้มเหลวคุณต้องกู้คืนจากข้อมูลสำรอง

โดยที่ 'xxxx' คือชื่อฐานข้อมูลและ 'xxxx.mdf' คือชื่อไฟล์ทางกายภาพของฐานข้อมูล

หมายเหตุ ข่าวสารเกี่ยวกับ 7909 เป็นข้อผิดพลาดที่รุนแรงที่อาจเกิดขึ้นในหลาย ๆ สถานการณ์เมื่อใดก็ตาม SQL Server คิดว่าฐานข้อมูลอยู่นอกเหนือการกู้คืน

ภาพหน้าจอของข้อความแสดงข้อผิดพลาด:

คำอธิบายที่แม่นยำ:

ข้อมูลในไฟล์ MDF จะถูกจัดเก็บเป็น 8KB หน้า. แต่ละเพจมีฟิลด์การตรวจสอบที่เป็นทางเลือก

ถ้าคำสั่ง DBCC CHECKDB พบค่า checksum ในเพจส่วนหัวเพจ 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_fixed.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