可更新訂閱為什麼有沖突?
可更新訂閱中,當更新增加一個字段時,通常在釋出伺服器的釋出資料庫中增加,對表增加字段後,釋出自動同步到訂閱資料庫中(複制架構更改=true)。但是,如果此時在訂閱資料庫進行DML操作,資料将不會同步到釋出表中;這些差異資料在訂閱表中如果一直未進行DML 操作,也就不會再次同步到釋出中,存在差異。
複制配置環境:
可更新訂閱事務複制
釋出和訂閱沖突都以訂閱為準
使用排隊更新
在訂閱操作
沖突測試結果(以下為: 當資料存在不一緻的情況下,對訂閱再次操作會引起沖突,沖突政策會自動解決):
當釋出資料不存在,訂閱資料存在時,此時更新訂閱資料:(排隊更新沖突)
當釋出和訂閱主鍵相同,msrepl_tran_version不同時,此時更新訂閱資料:(排隊更新沖突)
以上兩種情況結果:
在釋出沖突,沖突表記錄值都為最新值,訂閱資料更新或插入到釋出表中。

當釋出資料不存在,訂閱資料存在時,此時删除訂閱資料:(排隊更新沖突)
當釋出和訂閱主鍵相同,msrepl_tran_version不同時,此時删除訂閱資料:(排隊更新沖突)
删除操作同步到釋出時沖突。
沖突入選方:
此行不再存在于“[dbo].[TestTab]”中。 [[dbo].[TestTab]].[qcfttabrowid] 中唯一 ID 的值是“8d335a44-36a0-432c-bba4-4979df3c804e”。
沖突落選方:
嘗試删除此位置上的此資料時出現上述錯誤,原因可能是此删除操作違反了一個或多個限制。如果您忽略此沖突,則應通過其他方式加以解決。您可以記錄此沖突的詳細資訊,然後将日志條目發送給系統管理者。
架構更如何防止沖突?