อาการ
เมื่อคุณเรียกใช้คำสั่ง DBCC CHECKDB/CHECKTABLE การตรวจสอบความบริสุทธิ์ของข้อมูลอาจทำให้คำสั่งเรียกใช้เวลานานโดยไม่คาดคิด ปัญหานี้เกิดขึ้นสำหรับคำสั่ง DBCC CHECKDB/CHECKTABLE ในสถานการณ์ต่อไปนี้:
-
สมมติว่าคุณมีฐานข้อมูลหรือตารางที่ประกอบด้วยข้อมูลที่กำหนดโดยผู้ใช้ CLR ของ SQL (UDT) ใน Microsoft SQL Server ๒๐๑๒ SQL Server ไม่ได้นำหน่วยความจำ blob ภายในไปใช้อย่างถูกต้องในระหว่างการตรวจสอบความถูกต้องของ UDT CLR ของ SQL
-
หน่วยความจำที่ได้รับอนุญาตสำหรับการดำเนินการ DBCC (checktable หรือ checkdb ต่อตาราง) จะประมาณอย่างไม่ถูกต้องบนเซิร์ฟเวอร์หน่วยความจำขนาดใหญ่
ปัญหานี้อาจทำให้เกิดหน่วยความจำและปริมาณการใช้ CPU มากเกินไป
การแก้ไข
ข้อมูล service pack
เมื่อต้องการแก้ไขปัญหานี้ให้ขอรับ Service Pack ต่อไปนี้สำหรับ SQL Server
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ SQL Server ๒๐๑๒ Service Pack 3 (SP3) และ SQL Server ๒๐๑๔ Service Pack 1 (SP1) ให้ดูที่บักที่ได้รับการแก้ไขใน Sql server ๒๐๑๒ Service pack 3และบักที่ได้รับการแก้ไขใน Sql Server ๒๐๑๔ service pack 1
ข้อมูลโปรแกรมอัปเดตสะสม
ปัญหานี้ได้รับการแก้ไขครั้งแรกในการอัปเดตที่สะสมของ SQL Server ต่อไปนี้:
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ เราขอแนะนำให้คุณดาวน์โหลดและติดตั้งการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
อ้างอิง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการ DBCC ให้ดูที่โพสต์ในบล็อกต่อไปนี้บน MSDN:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"