อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
คุณเรียกใช้การเปลี่ยนแปลงดัชนี... ออนไลน์แบบสอบถามใน Microsoft SQL Server 2012 หรือ 2014 เซิร์ฟเวอร์ SQL
-
แบบสอบถามนี้ถูกยกเลิกเนื่อง จากการล็อกตายหรือผู้ใช้เริ่มต้นการดำเนินการ เช่นเรียกใช้คำสั่งทำลาย หรือยกเลิกแบบสอบถามอย่างใดอย่างหนึ่ง
ในสถานการณ์สมมตินี้ การดำเนินการ DML ใด ๆ ที่จำเป็นต้องใช้ข้อมูลเมตาของดัชนีถูกบล็อค หรือใช้เวลานานในการเรียกใช้งาน
นอกจากนี้ คุณอาจพบอาการต่อไปนี้:
-
ผ่านการตรวจสอบค่าสำหรับPWAIT_MD_RELATION_CACHEหรือMD_LAZYCACHE_RWLOCKรอชนิดเมื่อคุณสอบถามวิวจัดการไดนามิกsys.dm_os_wait_statsและsys.dm_exec_requests (DMV)
-
ผ่านการตรวจสอบค่าสำหรับ SOS_RW รอชนิดเมื่อคุณสอบถามsys.dm_os_spinlock_stats DMV
ปัญหานี้มักจะได้จากสังเกตเป็น convoy การล็อกที่เกิดขึ้นเมื่อทุกแบบสอบถาม DML ใหม่ล้างวัตถุซิงโครไนซ์ได้ช้าลง เนื่องจากธรรมชาติรอของออบเจ็กต์ซิงโครไนส์ การใช้งาน CPU ถูกจำกัดโดยปกติ
การแก้ปัญหา
ข้อมูลการปรับปรุงสะสม
ปัญหานี้ถูกถาวรแรกในการปรับปรุงสะสมต่อไปนี้ของ SQL Server
ปรับปรุงสะสม 1 สำหรับ SQL Server 2014/en-us/help/2931693
ปรับปรุงสะสม 9 สำหรับ SQL Server 2012 SP1/en-us/help/2931078
แต่ละโปรแกรมปรับปรุงสะสมใหม่สำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และทั้งหมดที่แก้ไขความปลอดภัยที่ถูกรวมอยู่ในการปรับปรุงที่สะสมก่อนหน้านี้ ตรวจหาการปรับปรุงสะสมล่าสุดสำหรับ SQL Server:
ข้อมูลโปรแกรมแก้ไขด่วน
มีโปรแกรมแก้ไขด่วนที่รองรับพร้อมให้บริการจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขเฉพาะปัญหาที่อธิบายไว้ในบทความนี้ ใช้ hotfix นี้เฉพาะกับระบบต่าง ๆ ที่พบปัญหานี้
หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีการดาวน์โหลดโปรแกรมแก้ไขด่วน" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ส่งคำขอถึงฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft และวิธีการขอรับโปรแกรมแก้ไขด่วน
หมายเหตุ หากเกิดปัญหาเพิ่มเติม หรือแก้ไขปัญหาใด ๆ ที่จำเป็น คุณอาจจำเป็นต้องสร้างการร้องขอบริการแยกต่างหาก ระบุต้นทุนในการสนับสนุนปกติจะใช้กับคำถามเพิ่มเติมและปัญหาที่ไม่มีสิทธิได้รับโปรแกรมแก้ไขด่วนนี้เฉพาะ สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าของ Microsoft และการสนับสนุน หรือ เพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ แบบฟอร์ม "โปรแกรมแก้ไขด่วนดาวน์โหลดพร้อมใช้งาน" แสดงภาษาโปรแกรมแก้ไขด่วนจะพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น
สิ่งสำคัญ หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้เปลี่ยนดัชนี... ออนไลน์แบบสอบถามสามารถถูกยกเลิก โดยไม่มีการลดประสิทธิภาพการทำงานของ SQL Server ได้
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ คุณสามารถล้างข้อมูลเมตาของรายการเพื่อป้องกันการล็อก convoy และคอมไพล์อีกวงจรที่เป็นไปได้ที่ลดประสิทธิภาพของแบบสอบถาม เมื่อต้องการทำเช่นนี้ ใช้หนึ่งในวิธีต่อไปนี้เพื่อช่วยในการล้างข้อมูลเมตาของรายการ:
-
เริ่มการทำงานของอินสแตนซ์ของ SQL Server 2012 หรือ 2014 ในเซิร์ฟเวอร์ SQL
-
ย้ายฐานข้อมูลปัญหาสถานะออฟไลน์ และจากนั้น นำนั้นแบบออนไลน์อีกครั้ง
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"