以 COM 為基礎的 Microsoft 解析程式
SQL Server 提供的所有以 COM 為基礎的解決器可處理更新衝突,如有需要,也可以處理插入與刪除衝突。 它們都能處理資料行追蹤,大部分還能處理資料列追蹤。 這些及所有其他的以 COM 為基礎的解決器都宣告它們所能處理的衝突類型,而「合併代理程式」使用預設解決器來處理其他所有的衝突類型。
解決器在 SQL Server 的安裝過程中安裝。 執行 sp_enumcustomresolvers 預存程序以檢視電腦中註冊的所有衝突解決器。 執行該程序,可顯示個別結果集中各解決器的描述和全域唯一識別碼 (GUID)。
若要指定解析程式,請參閱<指定合併發行項解析程式>。
下表說明了各解決器的屬性。
名稱 |
必要輸入 |
描述 |
註解 |
---|---|---|---|
Microsoft SQL Server Additive Conflict Resolver |
要加總的資料行名稱。 它必須要有算術資料類型 (例如 int、smallint、numeric,等等)。 |
衝突成功者是由優先權值決定的。 指定設定為來源與目的地資料行值總和的資料行值。 如果其中有一個資料行設為 NULL,則結果資料行值即被設為另一資料行的值。 |
支援更新衝突,僅限資料行追蹤。 |
Microsoft SQL Server Averaging Conflict Resolver |
要取平均值的資料行名稱。 它必須要有算術資料類型 (例如 int、smallint、numeric,等等)。 |
衝突成功者是由優先權值決定的。 結果資料行值設定為來源與目的地資料行值的平均值。 如果其中有一個資料行設為 NULL,則結果資料行值即被設為另一資料行的值。 |
支援更新衝突,僅限資料行追蹤。 |
Microsoft SQL Server DATETIME (Earlier Wins) Conflict Resolver |
要用來決定衝突成功者的資料行名稱。 它必須具有 datetime 資料類型。 |
具有較早 datetime 值的資料行決定衝突成功者。 如果其中有一個資料行設為 NULL,則含有另一資料行的資料列便是成功者。 |
支援更新衝突、資料列與資料行追蹤。 資料行值直接進行比較,且不會依不同時區進行調整。 |
Microsoft SQL Server DATETIME (Later Wins) Conflict Resolver |
要用來決定衝突成功者的資料行名稱。 它必須具有 datetime 資料類型。 |
具有較晚 datetime 值的資料行決定衝突成功者。 如果其中有一個資料行設為 NULL,則含有另一資料行的資料列便是成功者。 |
支援更新衝突、資料列與資料行追蹤。 |
Microsoft SQL Server Maximum Conflict Resolver |
要用來決定衝突成功者的資料行名稱。 它必須要有算術資料類型 (例如 int、smallint、numeric,等等)。 |
具有較大數值的資料行決定衝突成功者。 如果其中有一個資料行設為 NULL,則含有另一資料行的資料列便是成功者。 |
支援資料列與資料行追蹤。 |
Microsoft SQL Server Minimum Conflict Resolver |
要用來決定衝突成功者的資料行名稱。 它必須要有算術資料類型 (例如 int、smallint、numeric,等等)。 |
具有較小數值的資料行決定衝突成功者。 如果其中有一個資料行設為 NULL,則含有另一資料行的資料列便是成功者。 |
支援更新衝突,資料列和資料行的追蹤。 |
Microsoft SQL Server Merge Text Conflict Resolver |
文字資料行與分隔符號的名稱,例如 @resolver_info = '[col1][===]'。 |
衝突成功者是由優先權值決定的。 衝突中的文字資料行設定為合併值,包含通用前置詞,後面接著「發行者」的唯一部分,然後是分隔符號,最後是「訂閱者」的唯一部分。 |
支援更新衝突,僅限資料行追蹤。 |
Microsoft SQL Server Subscriber Always Wins Conflict Resolver |
無輸入。 |
無論是來源或目的地,「訂閱者」都是成功者。 |
支援所有衝突類型。 |
Microsoft SQL Server Priority Column Resolver |
要用來決定衝突成功者的資料行名稱。 它必須要有算術資料類型 (例如 int、smallint、numeric,等等)。 |
具有較大數值的資料行決定衝突成功者。 如果其中有一個資料行設為 NULL,則含有另一資料行的資料列便是成功者。 |
支援更新衝突,資料列和資料行的追蹤。 |
Microsoft SQL Server Upload Only Conflict Resolver |
無輸入。 |
接受上傳至「發行者」的變更;變更無法下載至「訂閱者」。 |
支援所有衝突類型。 |
Microsoft SQL Server Download Only Conflict Resolver |
無輸入。 |
拒絕上傳至「發行者」的變更;變更可下載至「訂閱者」。 |
支援所有衝突類型。 |
Microsoft SQL Server 預存程序解析程式 |
解決器應呼叫預存程序的名稱來處理衝突。 |
衝突解決方案視您在預存程序中指定的邏輯而定。 |
支援更新衝突。 如需詳細資訊,請參閱<針對合併發行項實作自訂衝突解析程式> |
請參閱
參考
sp_enumcustomresolvers (Transact-SQL)