KB4057280 - การแก้ไข: ใช้ CPU สูงเมื่อใช้ดัชนีขนาดใหญ่ในคิวรีบนตารางที่ปรับให้เหมาะสมกับหน่วยความจําใน SQL Server

นำไปใช้กับ
SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

อาการ

ลองทำตามสถานการณ์ต่อไปนี้:

  • คุณใช้การประมวลผลทรานแซคชันออนไลน์ (OLTP) ใน Microsoft SQL Server 2017, 2016 และ 2014 ในหน่วยความจํา
  • คุณดําเนินการแบบสอบถามบนตารางที่ปรับให้เหมาะสมกับหน่วยความจําที่มีดัชนีขนาดใหญ่

ในสถานการณ์นี้ ถ้าคุณใช้ดัชนีขนาดใหญ่ระหว่างการดําเนินการคิวรี การใช้งาน CPU อาจเพิ่มขึ้นอย่างรวดเร็วเป็น 100 เปอร์เซ็นต์อย่างรวดเร็ว หากคุณมีตัวประมวลผลแบบลอจิคัลมากกว่าหนึ่งตัว การใช้งานตัวประมวลผลเพียงตัวเดียวอาจเพิ่มขึ้นถึง 100 เปอร์เซ็นต์อย่างรวดเร็ว

สาเหตุ

ปัญหานี้เกิดขึ้นเนื่องจากการรวบรวมขยะใน OLTP ในหน่วยความจําอาจใช้เวลานานในการดําเนินการให้เสร็จสิ้นถ้ามีการใช้ดัชนีขนาดใหญ่ในการดําเนินการคิวรี

การแก้ปัญหา

ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตแบบสะสมต่อไปนี้สําหรับ SQL Server:

การอัปเดตสะสม 4 สําหรับ SQL Server 2017

การอัปเดตสะสม 7 สําหรับ SQL Server 2016 SP1

การอัปเดตสะสม 2 สําหรับ SQL Server 2014 SP3

หมาย เหตุ หลังจากที่คุณติดตั้งการอัปเดตนี้ คุณต้องเปิดใช้งานติดตามค่าสถานะ (TF) 9945 เพื่อแก้ไขปัญหานี้ เมื่อต้องการเปิดใช้งาน TF 9945 ให้ดูที่หัวข้อ ติดตามค่าสถานะ (Transact-SQL) บน Microsoft Developer Network (MSDN)

เกี่ยวกับการอัปเดตสะสมสําหรับ SQL Server:

แต่ละปรับปรุงสะสมใหม่สําหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ ดูการอัปเดตแบบสะสมล่าสุดสําหรับ SQL Server:

การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2017

การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2016

การอัปเดตสะสมล่าสุดสําหรับ SQL Server 2014

สถานะ

Microsoft ได้ยืนยันว่านี่เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ที่แสดงไว้ในส่วน "นำไปใช้กับ"

การอ้างอิง

เรียนรู้เกี่ยวกับคำศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์