如何:指定不應該為合併發行項追蹤刪除 (複寫 Transact-SQL 程式設計)
[!附註]
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
依預設,合併式複寫會同步處理發行者與散發者之間的 DELETE 命令。合併式複寫可讓您保留訂閱資料庫中的資料列,即時已從發行集中刪除資料列 (反之亦然)。您可透過程式設計方式指定在建立新的發行項時要忽略 DELETE 命令,或是可以在稍後使用複寫預存程序來啟用這項功能。
重要事項 |
---|
啟用這項功能將會導致非聚合的情況,這表示訂閱者上的資料將不會正確反映發行者上的資料。您必須實作自己的機制,以手動移除刪除的資料列。 |
指定新的合併發行項要忽略刪除
在發行集資料庫的發行者端上,執行sp_addmergearticle (Transact-SQL)。為 @delete_tracking 指定 false 的值。如需詳細資訊,請參閱<如何:定義發行項 (複寫 Transact-SQL 程式設計)>。
[!附註]
如果發行項的來源資料表已在另一個發行集中發行,則兩個發行項的 delete_tracking 值必須相同。
指定現有的合併發行項要忽略刪除
若要判斷是否已針對發行項啟用錯誤補償,請執行 sp_helpmergearticle (Transact-SQL),並記下結果集中的 delete_tracking 值。如果這個值是 0,就表示已經忽略刪除。
如果步驟 1 的值是 1,請在發行集資料庫的發行者上執行 sp_changemergearticle (Transact-SQL)。為 @property 指定 delete_tracking 的值,並為 @value 指定 false 的值。
[!附註]
如果發行項的來源資料表已在另一個發行集中發行,則兩個發行項的 delete_tracking 值必須相同。