KB4470821 - แก้ไข: DBCC CHECKDB บนฐานข้อมูลหลักล้มเหลวด้วยข้อผิดพลาด 2570 เมื่อเปิดใช้งานการปฏิบัติตามเกณฑ์ทั่วไปใน SQL Server 2017

นำไปใช้กับ
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณเปิดใช้งานตัวเลือกการปฏิบัติตามเกณฑ์ทั่วไป (CCC) บนอินสแตนซ์ SQL Server 2017 ของคุณ
  • คุณพยายามเข้าสู่ระบบอินสแตนซ์ของ SQL Server โดยใช้การเข้าสู่ระบบ SQL ที่ไม่มีอยู่
  • เข้าสู่ระบบอินสแตนซ์ SQL Server ด้วยบัญชีผู้ดูแลระบบ
  • เรียกใช้คําสั่ง DBCC CHECKDB กับฐานข้อมูลหลัก

ในสถานการณ์นี้ คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้:

msg 2570, ระดับ 16, สถานะ 2, หมายเลข บรรทัด
หน้า (#:#), ช่อง # ใน ID วัตถุ #, ID ดัชนี #, ID พาร์ติชัน #, ID หน่วยการจัดสรร # (ชนิด "ข้อมูลในแถว") ค่า "ชื่อ" ในคอลัมน์อยู่นอกช่วงสําหรับชนิดข้อมูล "nvarchar" อัปเดตคอลัมน์เป็นค่าที่ถูกต้องตามกฎหมาย

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

การแก้ปัญหา

ปัญหานี้ได้รับการแก้ไขในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server:

การอัปเดตแบบสะสมใหม่แต่ละรายการสําหรับ SQL Server จะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตแบบสะสมครั้งก่อนหน้า ตรวจดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ ให้เปิดใช้งานการติดตามสถานะ (TF) 2566 ที่ปิดใช้งานการตรวจสอบ DATA_PURITY เมื่อคุณเรียกใช้คําสั่ง DBCC CHECKDB กับฐานข้อมูลหลัก อย่างไรก็ตาม การดําเนินการนี้ไม่ได้ป้องกันไม่ให้แทรกแถวที่ไม่ถูกต้องลงในฐานข้อมูลหลัก ซึ่งจะปิดใช้งานการตรวจสอบระหว่าง DBCC CHECKDB

การอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์