Share via


如何:指定不應該為合併發行項追蹤刪除 (複寫 Transact-SQL 程式設計)

[!附註]

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。

依預設,合併式複寫會同步處理發行者與散發者之間的 DELETE 命令。合併式複寫可讓您保留訂閱資料庫中的資料列,即時已從發行集中刪除資料列 (反之亦然)。您可透過程式設計方式指定在建立新的發行項時要忽略 DELETE 命令,或是可以在稍後使用複寫預存程序來啟用這項功能。

重要事項重要事項

啟用這項功能將會導致非聚合的情況,這表示訂閱者上的資料將不會正確反映發行者上的資料。您必須實作自己的機制,以手動移除刪除的資料列。

指定新的合併發行項要忽略刪除

指定現有的合併發行項要忽略刪除

  1. 若要判斷是否已針對發行項啟用錯誤補償,請執行 sp_helpmergearticle (Transact-SQL),並記下結果集中的 delete_tracking 值。如果這個值是 0,就表示已經忽略刪除。

  2. 如果步驟 1 的值是 1,請在發行集資料庫的發行者上執行 sp_changemergearticle (Transact-SQL)。為 @property 指定 delete_tracking 的值,並為 @value 指定 false 的值。

    [!附註]

    如果發行項的來源資料表已在另一個發行集中發行,則兩個發行項的 delete_tracking 值必須相同。