อาการ
สมมติว่าคุณใช้การจำลองแบบผสานของ Microsoft SQL Server ๒๐๑๒ Service Pack 2 (SP2) เมื่อคุณล้างข้อมูล metadata โดยการดำเนินการ sp_mergemetadataretentioncleanup ที่ผู้ประกาศ metadata จะไม่สามารถเอาออกได้แม้ว่าสมาชิกทั้งหมดจะได้รับการซิงโครไนซ์ล่าสุดเสร็จเรียบร้อยแล้ว ในสถานการณ์นี้เวลาการซิงโครไนซ์จะเพิ่มขึ้นอย่างมากเนื่องจาก metadata ที่มากเกินไปหมายเหตุ มีค่า null ในคอลัมน์ last_local_recguid หรือมีรุ่นเก่าในคอลัมน์ last_local_recgen สำหรับสมาชิกบางคนในตาราง sysmergesubscriptions ที่ด้านของ publisher
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากการเปลี่ยนแปลงบางอย่างจะถูกนำมาใช้เพื่อลดความเป็นไปได้ของการไม่ใช่การบรรจบกันในขั้นตอนการล้างข้อมูล metadata ของการผสาน เมื่อต้องการทำเช่นนี้การล้างข้อมูลจะตรวจสอบว่ารุ่นใดยังสามารถใช้งานได้เพื่อหลีกเลี่ยงสถานการณ์ที่พวกเขาจะถูกลบออกแล้วกลับผ่านสมาชิกที่ไม่ได้ซิงโครไนซ์บ่อย กลไกการตรวจสอบนี้อาจไม่รวมบางรุ่นออกจากรายการล้างข้อมูลแม้ว่าพวกเขาจะไม่อยู่ภายในระยะเวลาการเก็บข้อมูลอีกต่อไป ในบางกรณีการทำเช่นนี้อาจเพิ่มขนาดของตาราง metadata
การแก้ไข
ปัญหานี้ได้รับการแก้ไขครั้งแรกในการอัปเดตที่สะสมต่อไปนี้ของ SQL Server
การอัปเดตที่สะสม1สำหรับ SQL Server ๒๐๑๔ SP1 /en-us/help/3067839
การอัปเดตที่สะสม4สำหรับ SQL Server ๒๐๑๒ SP2 /en-us/help/3007556
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"