2011-04-13 68 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

我找到了。

问题是我试图做的更新(在这种情况下是实体框架)还包括我在过滤器表达式中使用的列,所以此更新将更改显然不被允许的此数据集的分区。