Microsoft เผยแพร่ Microsoft SQL Server ๒๐๐๘ R2 Service Pack 1 (SP1) หรือการแก้ไข Microsoft SQL Server ๒๐๑๒ในไฟล์ที่สามารถดาวน์โหลดได้หนึ่งไฟล์ เนื่องจากการแก้ไขจะสะสมแต่ละรุ่นใหม่ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการอัปเดตความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๐๘ R2 Service Pack 1 (SP1) เวอร์ชันก่อนหน้าหรือ Microsoft SQL Server ๒๐๑๒การอัปเดตล่าสุด
อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณสร้างสิ่งพิมพ์การจำลองแบบของทรานแซคชันอย่างน้อยสองรายการโดยยึดตามฐานข้อมูลเดียวใน Microsoft SQL Server ๒๐๐๘ R2 หรือใน Microsoft SQL Server ๒๐๑๒
-
แต่ละสิ่งพิมพ์มีบทความอย่างน้อยหนึ่งบทความ บทความไม่เหลื่อมกันและแต่ละบทความเป็นของสิ่งพิมพ์เดียวเท่านั้น
-
คุณตั้งค่าคุณสมบัติ @sync_method ของสิ่งพิมพ์ที่ พร้อมกัน
-
คุณตั้งค่าคุณสมบัติ@immediate_syncของสิ่งพิมพ์เป็นTrue
-
คุณตั้งค่าพารามิเตอร์ MaxCmdsInTran ของตัวแทนผู้อ่านบันทึกเป็นค่าที่ไม่ใช่
-
หนึ่งในสิ่งพิมพ์ที่ได้รับการแทรกจำนวนมากในหนึ่งทรานแซคชัน
-
หลังจากที่มีการกำหนดให้ทรานแซคชันตัวแทนผู้อ่านล็อกเริ่มดำเนินการและแยกธุรกรรมตามพารามิเตอร์MaxCmdsInTran
-
ตัวแทนสำเนาชั่วคราวบนสิ่งพิมพ์อื่นจะเริ่มต้นก่อนที่บริษัทตัวแทนการอ่านแฟ้มบันทึกจะเสร็จสิ้นงาน
ในสถานการณ์สมมตินี้ตัวแทนผู้อ่านล็อกล้มเหลวและคุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
กระบวนการไม่สามารถดำเนินการ ' sp_MSadd_replcmds ' บน ' server\instance ' (แหล่งที่มา: MSSQLServer, หมายเลขข้อผิดพลาด: ๑๐๐๗) ไม่สามารถแทรกแถวคีย์ที่ซ้ำกันในวัตถุ ' dbo ' ได้ MSrepl_commands ' มีดัชนีที่ไม่ซ้ำกัน ' ucMSrepl_commands ' (แหล่งที่มา: MSSQLServer, หมายเลขข้อผิดพลาด: ๑๐๐๗)
การแก้ไข
ข้อมูลโปรแกรมอัปเดตสะสม
SQL Server 2012
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน1การอัปเดตที่สะสมสำหรับ SQL Server ๒๐๑๒ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๖๗๙๓๖๘ แพคเกจโปรแกรมปรับปรุงที่สะสม1สำหรับ SQL Server ๒๐๑๒หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ใน SQL Server ๒๐๑๒รุ่นก่อนหน้านี้ Microsoft ขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๖๙๒๘๒๘ SQL Server ๒๐๑๒รุ่นที่เผยแพร่หลังจากที่มีการเผยแพร่ SQL Server ๒๐๑๒ คุณต้องนำโปรแกรมแก้ไขด่วนของ SQL Server ๒๐๑๒ไปใช้กับการติดตั้ง SQL Server ๒๐๑๒
แพคเกจโปรแกรมปรับปรุงที่สะสม4สำหรับ SQL Server ๒๐๐๘ R2 SP1
การแก้ไขสำหรับปัญหานี้ถูกนำออกใช้ครั้งแรกใน4การอัปเดตที่สะสม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงที่สะสมนี้สำหรับ SQL Server ๒๐๐๘ R2 SP1 ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๒๖๓๓๑๔๖ แพคเกจโปรแกรมปรับปรุงที่สะสม4สำหรับ SQL Server ๒๐๐๘ R2 SP1หมายเหตุ เนื่องจาก builds สะสมแต่ละรุ่นของการแก้ไขใหม่มีโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไขปัญหาการเผยแพร่ SQL Server ๒๐๐๘ R2 ก่อนหน้านี้ เราขอแนะนำให้คุณพิจารณาใช้การแก้ไขการแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ สำหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base:
๒๕๖๗๖๑๖ รุ่นของ SQL Server ๒๐๐๘ R2 รุ่นที่เผยแพร่หลังจากที่มีการเผยแพร่ SQL Server ๒๐๐๘ R2 SP1
วิธีแก้ไขปัญหาชั่วคราว
เมื่อต้องการแก้ไขปัญหานี้ชั่วคราว ให้ใช้หนึ่งในวิธีต่อไปนี้:
-
อย่าตั้งค่าคุณสมบัติ @sync_method ของสิ่งพิมพ์เป็น "พร้อมกัน" และไม่ตั้งค่าคุณสมบัติ @immediate_sync ของสิ่งพิมพ์เป็น "true"
-
ตั้งค่าของพารามิเตอร์ MaxCmdsInTran เป็นศูนย์
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"