อาการ
ระหว่างการซิงโครไนซ์ของการจําลองแบบผสานใน Microsoft SQL Server 2008 และ SQL Server รุ่นที่ใหม่กว่า เอเจนต์ผสานอาจล้มเหลว นอกจากนี้ คุณได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
หมายเหตุ
เอเจนต์ผสานล้มเหลวหลังจากตรวจพบว่าการล้างข้อมูลเมตาดาต้าตามการเก็บข้อมูลได้ลบเมตาดาต้าที่ผู้สมัครใช้งานสําหรับการเปลี่ยนแปลงที่ยังไม่ได้ส่งไปยังผู้เผยแพร่ คุณต้องเตรียมการสมัครใช้งานใหม่ (โดยไม่ต้องอัปโหลด) (ที่มา: MSSQL_REPL หมายเลขข้อผิดพลาด: MSSQL_REPL-2147199401)
รับความช่วยเหลือ: http://help/MSSQL_REPL-2147199401
ปัญหานี้อาจเกิดขึ้นได้จากหลายสาเหตุ ซึ่งรวมถึงเหตุผลหลายประการที่คาดหวังภายใต้สถานการณ์บางอย่าง เมื่อต้องการตรวจสอบว่าคุณพบข้อผิดพลาดนี้โดยไม่คาดคิดหรือไม่ ให้ตรวจสอบรายละเอียด Metadata ที่อธิบายไว้ในส่วน "สาเหตุ"
สาเหตุ
สาเหตุของปัญหานี้สามารถพบได้ในตารางระบบต่อไปนี้บนผู้สมัครใช้งาน:
- dbo.sysMergeSubscriptions
- ดีบีโอ MsMerge_Genhistory
ตรวจสอบให้แน่ใจว่า เอเจนต์ผสานไม่ได้ซิงโครไนซ์อีกต่อไป จากนั้น เรียกใช้คิวรีต่อไปนี้ และตรวจสอบผลลัพธ์:
เลือก sentgen จาก SubscriberDB.dbo.sysMergeSubscriptions โดยที่ pubid = subid และ sentgen is not null
คอลัมน์ sentgen ทําเครื่องหมายกลุ่มการเปลี่ยนแปลงที่เก่าที่สุดที่สมาชิกส่งไปยังผู้เผยแพร่ ถ้ามีค่าหลายค่าถูกส่งกลับ ให้ตรวจสอบคอลัมน์อื่นๆ ในตาราง dbo.sysMergeSubscriptions เพื่อให้แน่ใจว่า คุณกําลังดู Metadata สําหรับการประกาศที่ถูกต้อง ถัดไป ให้ใช้ค่าที่คิวรีนี้ส่งกลับในคิวรีต่อไปนี้
เลือก 20 อันดับแรก * จาก SubscriberDB.dbo.MSmerge_genhistory WHERE Generation >= sentgen_value order by generation ผลลัพธ์ของคิวรีควรมีลักษณะดังต่อไปนี้:
คุณอาจพบข้อผิดพลาดโดยไม่คาดคิดเมื่อเงื่อนไขต่อไปนี้ทั้งหมดเป็นจริง
- ค่าในคอลัมน์ Generation ในแถวแรก มากกว่าค่า sentgen ในคิวรีก่อนหน้าเล็กน้อย
- ค่าในคอลัมน์ genstatus คือ 4
- ค่าในคอลัมน์ changecount คือ 0
หมายเหตุ: โดยทั่วไปแล้วค่าของคอลัมน์ coldate ของแถวแรกจะเก่ากว่าค่าของคอลัมน์นั้นในแถวอื่นๆ มาก
การแก้ปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ให้เริ่มต้นการทํางานของผู้สมัครใช้งานที่ทําให้เกิดข้อผิดพลาดใหม่
ในบางสถานการณ์ คุณอาจแก้ไขปัญหานี้ได้โดยไม่ต้องเตรียมใช้งานใหม่ทั้งหมด ติดต่อฝ่ายบริการสนับสนุนลูกค้าของ Microsoft สําหรับข้อมูลเกี่ยวกับวิธีแก้ไขปัญหาชั่วคราว
เพื่อป้องกันการเกิดปัญหานี้ในอนาคต ให้ใช้หนึ่งในวิธีแก้ไขต่อไปนี้ โดยขึ้นอยู่กับรุ่นของ SQL Server ของคุณ
ข้อมูลการอัปเดตสะสม
SQL Server 2008
ไม่มีการแก้ไขปัญหานี้ใน SQL Server 2008
SQL Server 2008 R2 Service Pack 2
การแก้ไขสําหรับปัญหานี้เผยแพร่ครั้งแรกใน Cumulative Update 3 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจการปรับปรุงแบบสะสมสําหรับ SQL Server 2008 R2 Service Pack 2 นี้ ให้คลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2754552 แพคเกจการปรับปรุงสะสม 3 สําหรับ SQL Server 2008 R2 Service Pack 2
หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่แต่ละรุ่นจะมีการแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2008 R2 Service Pack 2 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2730301 รุ่น SQL Server 2008 R2 ที่วางจําหน่ายภายหลัง SQL Server 2008 R2 Service Pack 2
SQL Server 2012
การแก้ไขสําหรับปัญหานี้เผยแพร่ครั้งแรกในการอัปเดตสะสม 4 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2012 นี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2758687 แพคเกจการปรับปรุงสะสม 4 สําหรับ SQL Server 2012
หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่ที่เผยแพร่ออกมาจะมีการแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการแก้ไข SQL Server 2012 รุ่นก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2692828 รุ่น SQL Server 2012 ที่วางจําหน่ายภายหลัง SQL Server 2012
SQL Server 2008 R2 Service Pack 1
การแก้ไขสําหรับปัญหานี้เผยแพร่ครั้งแรกในการอัปเดตสะสม 8 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขอรับแพคเกจโปรแกรมปรับปรุงสะสมสําหรับ SQL Server 2008 R2 Service Pack 1 นี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2723743 แพคเกจการปรับปรุงสะสม 8 สําหรับ SQL Server 2008 R2 SP1 หมายเหตุ เนื่องจากรุ่นนี้เป็นแบบสะสม การแก้ไขใหม่แต่ละรุ่นจะมีการแก้ไขด่วนและการแก้ไขความปลอดภัยทั้งหมดที่รวมอยู่ในการเผยแพร่การแก้ไข SQL Server 2008 R2 Service Pack 1 ก่อนหน้า เราขอแนะนําให้คุณพิจารณาใช้การแก้ไขล่าสุดที่มีโปรแกรมแก้ไขด่วนนี้ไปใช้ สําหรับข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
2567616 รุ่น SQL Server 2008 R2 ที่วางจําหน่ายภายหลัง SQL Server 2008 R2 SP1