อาการ
สมมติว่าคุณใช้ Microsoft SQL Server ๒๐๑๔ คุณอาจพบปัญหาสองปัญหาต่อไปนี้ที่รวมอยู่ในบันทึกย่อประจำรุ่น๒๐๑๔ของ SQL Server:
-
รายละเอียดดัชนีหายไปที่ไม่ถูกต้องรายงานที่รวมอยู่ในตารางที่ได้รับการปรับปรุงหน่วยความจำที่ได้รับการปรับให้เหมาะสม: ถ้า SQL Server ๒๐๑๔ตรวจพบดัชนีที่ขาดหายไปสำหรับคิวรีบนตารางที่ปรับให้เหมาะสมกับหน่วยความจำจะรายงานดัชนีที่ขาดหายไปใน SHOWPLAN_XML เช่นเดียวกับใน DMVs ดัชนีที่ขาดหายไปเช่น sys.dm_db_missing_index_details ในบางกรณีรายละเอียดของดัชนีที่ขาดหายไปจะมีคอลัมน์ที่มีอยู่ ในขณะที่คอลัมน์ทั้งหมดจะรวมอยู่ในดัชนีทั้งหมดในตารางที่ได้รับการปรับให้เหมาะสมหน่วยความจำไม่ได้รับอนุญาตให้ระบุคอลัมน์ที่รวมไว้ด้วยดัชนีหน่วยความจำที่ปรับให้เหมาะสม
-
รายละเอียดของดัชนีที่ขาดหายไปถ้าดัชนีแฮชไม่มีอยู่แต่ไม่เหมาะสมสำหรับปัญหาคิวรี: ถ้าคุณมีดัชนีแฮชในคอลัมน์ของตารางที่มีการปรับให้เหมาะสมกับหน่วยความจำในแบบสอบถามแต่ไม่สามารถใช้ดัชนีสำหรับแบบสอบถาม SQL Server ๒๐๑๔จะไม่รายงานดัชนีที่ขาดหายไปใน SHOWPLAN_XML และใน sys.dm_db_missing_index_details DMV โดยเฉพาะอย่างยิ่งถ้าแบบสอบถามประกอบด้วยเพรดิเคตความสอดปฏิบัติที่เกี่ยวข้องกับชุดย่อยของคอลัมน์คีย์ดัชนีหรือถ้ามีเพรดิเคตที่ไม่เท่ากันที่เกี่ยวข้องกับคอลัมน์คีย์ดัชนีดัชนีแฮชไม่สามารถใช้ได้และจะต้องมีดัชนีที่แตกต่างกันในการดำเนินการคิวรีอย่างมีประสิทธิภาพ
สาเหตุ
ปัญหาเกิดขึ้นเนื่องจากตรรกะดัชนีที่ขาดหายไปในตัวเพิ่มประสิทธิภาพของคิวรีจะไม่แยกความแตกต่างระหว่างดัชนีแบบไม่ใช่แบบกลุ่มแบบดั้งเดิมบนตารางที่ยึดตามดิสก์และชนิดดัชนีใหม่สำหรับตารางที่ปรับให้เหมาะสมกับหน่วยความจำ
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมของ SQL Server ก่อน
การอัปเดตที่สะสม1สำหรับ SQL Server ๒๐๑๔ /en-us/help/2931693
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหาเหล่านี้ให้ใช้วิธีการแก้ไขปัญหาต่อไปนี้:
-
วิธีแก้ไขปัญหาชั่วคราวสำหรับปัญหา: รายละเอียดดัชนีที่ไม่ถูกต้องรายงานที่รวมอยู่ในหน่วยความจำ tableDo ที่ปรับให้เหมาะสมไม่ระบุส่วนคำสั่งรวมที่มีดัชนีบนตารางที่ปรับให้เหมาะสมกับหน่วยความจำ
-
วิธีแก้ไขปัญหาชั่วคราวสำหรับปัญหา: รายละเอียดของดัชนีที่ขาดหายไปถ้าดัชนีแฮชไม่มีอยู่แต่ไม่เหมาะสมสำหรับกรณีที่ queryIn คุณกำลังใช้ดัชนีแฮชตรวจสอบคิวรีและแผนการสอบถามเพื่อกำหนดว่าคิวรีอาจได้รับประโยชน์จากการดำเนินการค้นหาดัชนีบนชุดย่อยของคีย์ดัชนีหรือการดำเนินการค้นหาดัชนีบนเพรดิเคตอสมการ ถ้าคุณต้องการค้นหาชุดย่อยของคีย์ดัชนีให้ใช้ดัชนีกลุ่มหรือใช้ดัชนีแฮชที่ตรงกับคอลัมน์ที่คุณต้องการค้นหา ถ้าคุณต้องการค้นหาเพรดิเคตอสมการให้ใช้ดัชนีกลุ่มแทนที่จะเป็นแฮช
หมายเหตุ วิธีแก้ไขปัญหาชั่วคราวจาก บันทึกย่อประจำรุ่น๒๐๑๔ของ SQL Server
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"