2011-04-13 70 views
0

我有一個合併複製方案,有1個分發者/發佈者和許多訂閱者。 只有一些未經過濾的文章被HOST_NAME()過濾,因此創建了不同的(不重疊的)分區。 我也嘗試通過SUSER_NAME()進行過濾無濟於事。在訂閱服務器上更新過濾的複製行失敗

過濾和發行工作完美,但更新的訂戶失敗,出現此錯誤消息:

不能在項目「%s」的更新列。 對於partition_options屬性,該文章的值爲2或3(非重疊分區) ,並且該列在行過濾器和/或聯接過濾器中涉及 。在這種情況下,該列不能在訂閱服務器或重新發布者處更新爲 ;它必須在頂層發佈

它失敗的文章有一個partition_options設置爲「Nonoverlapping,single subscription」。 我試圖執行的SQL是幾個nvarchars和位的簡單參數化UPDATE。

任何人任何想法我失蹤了嗎?它不能遠...

編輯: SQL Server 2008 R2順便說一句。

回答

0

我找到了。

問題是我試圖做的更新(在這種情況下是實體框架)還包括我在過濾器表達式中使用的列,所以此更新將更改顯然不被允許的此數據集的分區。