อาการ
ตามค่าเริ่มต้น จุดตรวจสอบทางอ้อมจะเปิดใช้งานสําหรับฐานข้อมูล tempdb ใน Microsoft SQL Server 2016 และ 2017 ภายใต้สภาวะปริมาณงานหนัก อาจเกิดข้อผิดพลาด "ตัวจัดกําหนดการที่ไม่ให้ผลผลิต" และ DMV sys.dm_os_spinlock_statsแสดงการกระดุมหมุนที่สูงขึ้นสําหรับประเภทDP_LISTปั่น
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตสะสมสําหรับSQL Serverต่อไปนี้:
เกี่ยวกับการอัปเดตสะสมสําหรับSQL Server:
แต่ละปรับปรุงสะสมใหม่สําหรับSQL Serverประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ในการปรับปรุงสะสมก่อนหน้านี้ ดูการอัปเดตแบบสะสมล่าสุดสําหรับSQL Server:
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ ให้ปิดจุดตรวจสอบทางอ้อมบนฐานข้อมูล tempdb โดยใช้คําสั่ง Data Definition Language (DDL) ต่อไปนี้
ควรทําดังนี้:
-
บนฐานข้อมูล modeldb (ซึ่งจะเปลี่ยนค่าเริ่มต้นสําหรับฐานข้อมูลใหม่ด้วย) ให้เรียกใช้คําสั่ง
ต่อไปนี้:ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES -
หรือบนฐานข้อมูล tempdb โดยตรงทุกครั้งที่อินสแตนซ์เริ่มทํางานโดยใช้ตัวแทนSQL Serverโดยใช้คําสั่งต่อไปนี้:
ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES -
หรือออกจุดตรวจสอบด้วยตนเองเป็นระยะๆ กับฐานข้อมูล tempdb โดยใช้คําสั่งต่อไปนี้:
use tempdb
go checkpoint
go
นอกจากนี้ TF 3468 ยังสามารถใช้เพื่อปิดใช้งานจุดตรวจสอบทางอ้อมบน tempdb ได้อีกด้วย
อ้างอิง
เรียนรู้เกี่ยวกับคําศัพท์ที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์ ดูบทความต่อไปนี้สําหรับข้อมูลเพิ่มเติม: