KB3030352 - การแก้ไข: ตารางการเปลี่ยนแปลงเรียงลําดับอย่างไม่ถูกต้องสําหรับแถวที่อัปเดตหลังจากที่คุณเปิดใช้งานการจับข้อมูลการเปลี่ยนแปลงสําหรับฐานข้อมูล Microsoft SQL Server

นำไปใช้กับ
SQL Server 2008 Enterprise SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard 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 Service Pack 1

Microsoft แจกจ่ายการแก้ไขของ Microsoft SQL Server 2012, 2014 หรือ 2016 เป็นไฟล์ที่ดาวน์โหลดได้ไฟล์เดียว เนื่องจากการแก้ไขเป็นแบบสะสม การเผยแพร่ใหม่แต่ละครั้งจะมีโปรแกรมแก้ไขด่วนทั้งหมด และการแก้ไขข้อบกพร่องด้านความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server 2012 ก่อนหน้า 2014, 2016 การแก้ไขเผยแพร่

อาการ

หลังจากที่คุณเปิดใช้งานการจับข้อมูลการเปลี่ยนแปลงสําหรับฐานข้อมูล Microsoft SQL Server 2012,2014 หรือ 2016 คอลัมน์การดําเนินการ __$ในตารางการเปลี่ยนแปลงอาจถูกเรียงลําดับอย่างไม่ถูกต้องสําหรับแถวที่อัปเดต เมื่อคุณอัปเดตแถว จะมีสองแถวในตารางการเปลี่ยนแปลง ที่มีการลบและแทรกสําหรับการดําเนินการ __$ แต่การดําเนินการแทรกอาจปรากฏขึ้นโดยไม่คาดคิดก่อนการดําเนินการลบ ถ้าแอปพลิเคชันนําแถวไปใช้ใหม่กับตารางอื่นที่มีข้อจํากัดคีย์หลัก อาจเกิดการละเมิดคีย์หลักต่อไปนี้:

หมายเหตุ

Msg 2627, ระดับ 14, สถานะ 1, บรรทัด 6 การ Violation of PRIMARY KEY constraint 'Primary_Key_name' ไม่สามารถแทรกคีย์ที่ซ้ํากันในวัตถุ 'table_name' ได้ ค่าคีย์ที่ซ้ํากันคือ (ค่า)

      

การแก้ปัญหา

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

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

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

สถานะ

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

การอ้างอิง

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