อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณใช้อินสแตนซ์ของ Microsoft SQL Server ๒๐๑๒หรือ SQL Server ๒๐๑๔ที่เปิดใช้งาน NUMA
-
SQL Server ถูกกำหนดค่าให้ใช้แกน CPU จำนวนมากในหลายโหน NUMA (ตัวอย่างเช่น4โหน NUMA ที่มี12แกนแต่ละรายการ)
-
คุณเรียกใช้ปริมาณงานที่มีการคอมไพล์ที่สร้างอัตราการคอมไพล์สูงจากการเชื่อมต่อที่พร้อมกันหลายรายการ
ในสถานการณ์สมมตินี้คุณจะไม่สังเกตเห็นผลลัพธ์ของคิวรีการรวบรวม/วินาทีที่มีการเพิ่มจำนวนแกนที่พร้อมใช้งานมากกว่า12หรือดังนั้น นอกจากนี้ CPU อาจแสดงการใช้ประโยชน์ของ๑๐๐เปอร์เซ็นต์หมายเหตุ ความรุนแรงของความเข้มของ CPU จะขึ้นอยู่กับจำนวนแกนต่อโหน NUMA และในอัตราการคอมไพล์ของคุณ
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจาก SQL Server ใช้โครงสร้างข้อมูลที่อาจนำไปสู่รูปแบบการขัดแย้งของ CPU บนฮาร์ดแวร์ที่เปิดใช้งาน NUMA ในการคอมไพล์พร้อมกัน
การแก้ไข
หลังจากที่คุณนำการแก้ไขนี้ไปใช้แล้ว SQL Server จะแทนที่การใช้โครงสร้างที่แชร์กับข้อมูลภายในเครื่องของเธรด ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมของ SQL Server ครั้งแรก
การอัปเดตที่สะสม1สำหรับ SQL Server ๒๐๑๒ SP2 /en-us/help/2976982
การอัปเดตที่สะสม2สำหรับ SQL Server ๒๐๑๔ /en-us/help/2967546
การอัปเดตที่สะสม10สำหรับ SQL Server ๒๐๑๒ SP1 /en-us/help/2954099
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ให้ลดอัตราการคอมไพล์ในระบบ SQL Server ของคุณ
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"