更新订阅服务器上已过滤的复制行失败

时间:2011-04-13 08:59:25

标签: sql sql-server replication merge-replication

我有一个合并复制方案,有1个发布者/发布者和许多订阅者。 只有少数文章未经过滤,其他所有内容都由HOST_NAME()过滤,从而创建了不同的(非重叠)分区。 我也尝试通过SUSER_NAME()过滤无效。

过滤和分发工作完美,但订阅者更新失败,并显示以下错误消息:

  

无法更新文章'%s'中的列。   该文章的值为2或3(非重叠分区)   对于partition_options属性,涉及该列   在行过滤器和/或连接过滤器中。在这种情况下,列不能   在订阅者或重新发布者处更新;它必须在顶级发布者

更新

它失败的文章的partition_options设置为“Nonoverlapping,single subscription”。 我试图执行的SQL是一些简单的参数化UPDATE的几个nvarchars和位。

有人知道我缺少什么吗?它不能远......

编辑: SQL Server 2008 R2 btw。

1 个答案:

答案 0 :(得分:0)

我找到了。

问题是我尝试做的更新(本例中的实体框架)也包括我在过滤器表达式中使用的列,因此此更新将更改此数据集的分区,这显然是不允许的。 / p>