我有一个合并复制方案,有1个发布者/发布者和许多订阅者。 只有少数文章未经过滤,其他所有内容都由HOST_NAME()过滤,从而创建了不同的(非重叠)分区。 我也尝试通过SUSER_NAME()过滤无效。
过滤和分发工作完美,但订阅者更新失败,并显示以下错误消息:
无法更新文章'%s'中的列。 该文章的值为2或3(非重叠分区) 对于partition_options属性,涉及该列 在行过滤器和/或连接过滤器中。在这种情况下,列不能 在订阅者或重新发布者处更新;它必须在顶级发布者
更新
它失败的文章的partition_options设置为“Nonoverlapping,single subscription”。 我试图执行的SQL是一些简单的参数化UPDATE的几个nvarchars和位。
有人知道我缺少什么吗?它不能远......
编辑: SQL Server 2008 R2 btw。
答案 0 :(得分:0)
我找到了。
问题是我尝试做的更新(本例中的实体框架)也包括我在过滤器表达式中使用的列,因此此更新将更改此数据集的分区,这显然是不允许的。 / p>