วิธีการแก้ไขปัญหาข้อขัดแย้งเท็จการจำลองแบบผสานอย่างถูกต้อง


12

เรามีการตั้งค่าการจำลองแบบผสาน SQL Server 2008 R2

เมื่อเร็ว ๆ นี้ฉันเริ่มได้รับความขัดแย้งสำหรับบางตารางและเมื่อฉันตรวจสอบตัวแสดงข้อขัดแย้งฉันจะเห็นว่าค่าของผู้ชนะ & ค่าคอลัมน์ผู้แพ้เหมือนกัน!

ฉันแน่ใจว่าข้อมูลเหล่านี้ถูกป้อนโดยผู้สมัครสมาชิกเพียงคนเดียว

ฉันใช้sp_showrowreplicainfoเพื่อรับรายละเอียดเพิ่มเติมเกี่ยวกับแถวที่ขัดแย้งกันและฉันได้ 2 แถว: แถวหนึ่งสำหรับผู้เผยแพร่และแถวสำหรับสมาชิกที่มีทั้งสองแถวมี "เวอร์ชัน" เป็น 1

ฉันใช้วิธีของแบรนดอนด้วย: การตรวจสอบการเปลี่ยนแปลงในการจำลองแบบผสานแต่มันแสดงให้เห็นว่ามีการแทรกแบบปกติเท่านั้น!

คุณช่วยบอกวิธีเริ่มต้นการแก้ไขข้อขัดแย้งประเภทนี้ได้ไหม

คำตอบ:


1

ฉันพบคำตอบที่ชัดเจนสำหรับคำถามของคุณที่นี่ในผู้ดูแลฐานข้อมูลโดยBrandon Williams :

วิธีการแก้ไขข้อขัดแย้งการจำลองแบบ SQL Server Merge

แบรนดอนกล่าวว่า:

คุณต้องตรวจสอบตัวแสดงความขัดแย้งและสังเกตประเภทความขัดแย้งและค่าของแถวที่ขัดแย้งกัน สิ่งที่ควรทราบก็คือคอลัมน์ผู้ชนะความขัดแย้งจะแสดงค่าแถวที่ชนะซึ่งดึงมาจากตารางฐาน หากคุณคิดเกี่ยวกับมันค่าเหล่านี้จะผันผวนและสามารถเปลี่ยนแปลงได้ดังนั้นค่าที่คุณเห็นในคอลัมน์ผู้ชนะความขัดแย้งอาจไม่ใช่ค่าที่พวกเขาเป็นเมื่อเกิดความขัดแย้งขึ้นโปรดระลึกไว้เสมอ คอลัมน์ Conflict Loser จะแสดงค่าแถวที่สูญเสียซึ่งดึงมาจากตาราง MSmerge_conflict_publication_article และค่าเหล่านี้เป็นค่าคงที่

หากคุณไม่สามารถระบุสาเหตุที่แท้จริงของความขัดแย้งที่เกิดจากตัวแสดงความขัดแย้งคุณอาจต้องใช้รูปแบบการตรวจสอบ ผมได้ให้ตัวอย่างของวิธีการทำเช่นนี้ในการเปลี่ยนแปลงการตรวจสอบในการจำลองแบบผสาน

มีโอกาสเล็กน้อยที่คุณได้รับความขัดแย้งที่ผิดพลาด แต่การตรวจสอบควรเปิดเผยว่าเป็นกรณีนี้หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.