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

นำไปใช้กับ
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 2016 บนตารางที่ปรับให้เหมาะสมกับหน่วยความจํา ขณะนี้สถานการณ์ ALTER TABLE ส่วนใหญ่จะทํางานแบบคู่ขนานและส่งผลให้มีการปรับการเขียนบันทึกทรานแซคชันให้เหมาะสมที่สุด อย่างไรก็ตาม การดําเนินการแก้ไขคอลัมน์บนตารางขนาดใหญ่ที่ปรับให้เหมาะสมกับหน่วยความจําที่ใช้งานแบบขนานอาจส่งผลให้ข้อมูลสูญหายได้ 

หมายเหตุการดําเนินการ ALTER TABLE ทํางานแบบเธรดเดี่ยวและไม่ได้รับผลกระทบจากปัญหานี้

การแก้ปัญหา

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

ข้อแนะนํา: ติดตั้งการอัปเดตสะสมล่าสุดสําหรับ SQL Server

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

      

วิธีแก้ไขปัญหาชั่วคราว

เมื่อต้องการแก้ไขปัญหานี้ ให้ปิดบันทึกที่ปรับให้เหมาะสมสําหรับการดําเนินการเปลี่ยนแปลงโดยการเปิดใช้งานการติดตามแฟล็ก 9909 

เมื่อต้องการเปิดใช้งานการติดตามสถานะ 9909 ให้เพิ่มพารามิเตอร์เริ่มต้น -T9909 หรือคุณสามารถใช้คําสั่ง dbcc traceon(9909) สําหรับเซสชันเฉพาะ

สถานะ

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

การอ้างอิง

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