อาการ
สมมติว่าคุณสร้างดัชนีที่เก็บคอลัมน์บนตารางที่มีดัชนีแบบกลุ่ม และไม่มีดัชนีที่ไม่ใช่แบบคลัสเตอร์ใน Microsoft SQL Server 2012 หรือ SQL Server 2014 เมื่อคุณเรียกใช้ UPDATE STATISTICS ในดัชนีแบบกลุ่ม เปอร์เซ็นต์ของตัวอย่างไม่ถูกต้องจะถูกนําไปใช้ และขั้นตอนฮีสโตแกรมไม่แสดงการแจกแจงข้อมูลที่ถูกต้อง คุณสามารถดูผลลัพธ์ได้โดยการเรียกใช้คําสั่งต่อไปนี้หลังจากที่คุณอัปเดตสถิติ:
DBCC SHOW_STATISTICS ( table_or_indexed_view_name , target ) WITH STAT_HEADER
ในสถานการณ์นี้ การอัปเดตทางสถิติอาจใช้เวลานานขึ้น และขั้นตอนฮีสโตแกรมที่ไม่ถูกต้องอาจทําให้แผนการดําเนินการคิวรีทํางานได้ไม่ดีนัก
หมายเหตุ ปัญหานี้ยังเกิดขึ้นใน SQL Server 2012 Cumulative Update 8 (CU8) หรือเวอร์ชันที่ใหม่กว่าด้วย
การแก้ปัญหา
ปัญหานี้ได้รับการแก้ไขครั้งแรกในการอัปเดตแบบสะสมของ SQL Server ต่อไปนี้
การอัปเดตสะสม 4 สําหรับ SQL Server 2014 /en-us/help/2999197
การอัปเดตสะสม 2 สําหรับ SQL Server 2012 SP2 /en-us/help/2983175
เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server
การอัปเดตแบบสะสมใหม่แต่ละรายการสําหรับ SQL Server จะมีโปรแกรมแก้ไขด่วนและการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตแบบสะสมครั้งก่อนหน้า ตรวจดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้เพิ่มดัชนีแบบไม่คลัสเตอร์บนตาราง
สถานะ
Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"