อาการ
สมมติว่าคุณเปิดใช้งานฟีเจอร์ เช่น กลุ่มให้บริการ AlwaysOn ที่ใช้พูลบันทึกในอินสแตนซ์ของ Microsoft SQL Server 2012 หรือ Microsoft SQL Server 2014 ในสถานการณ์นี้ ตัวนับการรอการเขียนบันทึกสําหรับบัฟเฟอร์บันทึกบนอินสแตนซ์ SQL Server มีค่าสูง นอกจากนี้ คุณจะสังเกตเห็นค่าสูงสําหรับชนิดการรอ CMEMTHREAD และ WRITELOG ในมุมมองการจัดการแบบไดนามิก (DMV) นอกจากนี้ ไฟล์การถ่ายโอนข้อมูลขนาดเล็กจะถูกสร้างขึ้น
หมายเหตุ พูลบันทึกคือแคชในหน่วยความจําของบันทึกทรานแซคชัน แคชนี้ถูกใช้ดังต่อไปนี้: เพื่อปรับการอ่านบันทึกระหว่างการกู้คืนให้เหมาะสม และการดําเนินการย้อนกลับในการจําลองทรานแซคชัน และสําหรับฟีเจอร์กลุ่มให้บริการ AlwaysOn
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากพูลบันทึกใช้ตัวชี้ส่วนกลางไปยังวัตถุหน่วยความจํา (PMO) สําหรับฐานข้อมูลทั้งหมด
เมื่อเธรดจํานวนมากพยายามเขียนบันทึกโดยใช้พูลบันทึก เธรดทั้งหมดจะต้องรอตัวชี้ไปยังวัตถุหน่วยความจําซึ่งส่งผลให้เกิดการขัดแย้งที่อธิบายไว้ในส่วนอาการ
การแก้ปัญหา
SQL Server 2014 Service Pack 1
ตามค่าเริ่มต้น Service Pack 1 สําหรับ SQL Server 2014 จะมีการแก้ไขนี้ และคุณไม่จําเป็นต้องเพิ่มการตั้งค่าสถานะการติดตามใดๆ เพื่อเปิดใช้งานการแก้ไข
SQL Server 2014
ปัญหานี้ได้รับการแก้ไขแล้วในเวอร์ชัน RTM ของ SQL Server 2014 แต่คุณยังต้องเปิดใช้งานสถานะการติดตาม T9024 และ/หรือ 8048 เพื่อเปิดใช้งานการแก้ไข หลังจากที่คุณเปิดใช้งานการตั้งค่าสถานะการติดตามนี้ อินสแตนซ์ SQL Server จะแบ่งพาร์ติชันตัวชี้ไปยังวัตถุหน่วยความจําที่ระดับโหนด
บันทึกย่อ
- หากปัญหายังคงมีอยู่แม้หลังจากเปิดใช้งานการติดตามสถานะ T9024 คุณยังสามารถเปิดใช้งานการติดตามสถานะ T8048 ซึ่งแบ่งพาร์ติชันตัวชี้ไปยังวัตถุหน่วยความจําที่ระดับ CPU
- SQL Server 2014 Service Pack 1 (SP1) มีการแก้ไขนี้ และคุณไม่จําเป็นต้องเปิดใช้งานการตั้งค่าสถานะการติดตาม
SQL Server 2012
หมายเหตุ SQL Server 2012 Service Pack 3 (SP3) มีการแก้ไขนี้ และคุณไม่จําเป็นต้องเปิดใช้งานการตั้งค่าสถานะการติดตาม
ข้อมูลการอัปเดตสะสม
Cumulative Update 3 สําหรับ SQL Server 2012 SP1
การแก้ไขสําหรับปัญหานี้เผยแพร่ครั้งแรกใน Cumulative Update 3 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2012 SP1 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
2812412 แพคเกจการปรับปรุงสะสม 3 สําหรับ SQL Server 2012 Service Pack 1 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่ๆ แต่ละรุ่นจะมีโปรแกรมแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2012 SP1 ก่อนหน้านี้ เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2772858 รุ่น SQL Server 2012 ที่วางจําหน่ายภายหลัง SQL Server 2012 Service Pack 1 หมายเหตุ: หลังจากที่คุณใช้โปรแกรมแก้ไขด่วน คุณต้องเปิดใช้งานการตั้งค่าสถานะการติดตาม T9024 เพื่อเปิดใช้งานการแก้ไข หลังจากที่คุณเปิดใช้งานการตั้งค่าสถานะการติดตามนี้ อินสแตนซ์ SQL Server จะแบ่งพาร์ติชันตัวชี้ไปยังวัตถุหน่วยความจําที่ระดับโหนด
หมายเหตุ หากปัญหายังคงมีอยู่แม้หลังจากเปิดใช้งานการติดตามสถานะ T9024 คุณยังสามารถเปิดใช้งานการติดตามสถานะ T8048 ซึ่งจะแบ่งพาร์ติชันตัวชี้ไปยังวัตถุหน่วยความจําที่ระดับ CPU
ข้อมูลโปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนที่รองรับมีให้ใช้งานจาก Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มีวัตถุประสงค์เพื่อแก้ไขปัญหาที่อธิบายไว้ในบทความนี้เท่านั้น ใช้โปรแกรมแก้ไขด่วนนี้กับระบบที่ประสบปัญหาเฉพาะนี้เท่านั้น
หากโปรแกรมแก้ไขด่วนพร้อมให้ดาวน์โหลด จะมีส่วน "การดาวน์โหลดโปรแกรมแก้ไขด่วนพร้อมใช้งาน" ที่ด้านบนของบทความฐานความรู้นี้ หากส่วนนี้ไม่ปรากฏ ให้ส่งคําขอไปยังฝ่ายสนับสนุนและบริการลูกค้าของ Microsoft เพื่อรับโปรแกรมแก้ไขด่วน
หมายเหตุ ถ้าเกิดปัญหาเพิ่มเติมหรือจําเป็นต้องมีการแก้ไขปัญหาใดๆ คุณอาจต้องสร้างคําขอบริการแยกต่างหาก ค่าใช้จ่ายสนับสนุนตามปกติจะนําไปใช้กับคําถามและปัญหาการสนับสนุนเพิ่มเติมที่ไม่เข้าเกณฑ์สําหรับโปรแกรมแก้ไขด่วนเฉพาะนี้ สําหรับรายการทั้งหมดของหมายเลขโทรศัพท์ฝ่ายบริการและการสนับสนุนลูกค้าของ Microsoft หรือสร้างคําขอบริการแยกต่างหาก โปรดเยี่ยมชมเว็บไซต์ของ Microsoft ต่อไปนี้:
/contactus/?ws=support หมายเหตุ: แบบฟอร์ม "โปรแกรมแก้ไขด่วนพร้อมใช้งาน" จะแสดงภาษาสําหรับโปรแกรมแก้ไขด่วนที่พร้อมใช้งาน หากคุณไม่เห็นภาษาของคุณ นั่นเป็นเพราะโปรแกรมแก้ไขด่วนไม่พร้อมใช้งานในภาษานั้น
ข้อกําหนดเบื้องต้นสําหรับ SQL Server 2012
หากต้องการแก้ไขด่วนนี้ คุณต้องติดตั้ง SQL Server 2012 SP1 บนคอมพิวเตอร์
ข้อกำหนดในการรีสตาร์ต
คุณไม่จําเป็นต้องเริ่มต้นระบบคอมพิวเตอร์ใหม่หลังจากที่คุณใช้โปรแกรมแก้ไขด่วนนี้ SQL Server ต้องเริ่มระบบใหม่ด้วยการตั้งค่าสถานะการติดตาม T9024 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการกําหนดค่า SQL Server โดยใช้การตั้งค่าสถานะการติดตามการเริ่มต้นระบบ ให้ดูที่ตัวเลือกการเริ่มต้นบริการกลไกจัดการฐานข้อมูล
ข้อมูลไฟล์
เวอร์ชันโปรแกรมแก้ไขด่วนส่วนกลางมีแอตทริบิวต์ของไฟล์ (หรือแอตทริบิวต์ไฟล์ที่ใหม่กว่า) ซึ่งแสดงอยู่ในตารางต่อไปนี้ วันที่และเวลาสำหรับไฟล์เหล่านี้แสดงตามเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลของไฟล์ ข้อมูลไฟล์นั้นจะถูกแปลงเป็นเวลาท้องถิ่น หากต้องการค้นหาความแตกต่างระหว่างเวลา UTC และเวลาท้องถิ่นให้ใช้แท็บโซนเวลาในรายการวันที่และเวลาในแผงควบคุม