问题描述
|
我有1个分发者/发布者和许多订阅者的合并复制方案。
只有几篇文章是未过滤的,其他所有内容都由HOST_NAME()过滤,因此创建了不同的(不重叠)分区。
我也尝试通过SUSER_NAME()进行过滤无济于事。
筛选和分发工作正常,但是在订阅服务器上更新失败并显示以下错误消息:
无法更新文章\'%s \'中的列。
文章的值为2或3(非重叠分区)
用于partition_options属性,并且涉及该列
在行过滤器和/或联接过滤器中。在这种情况下,该列不能
在订户或重新发布者处更新;必须在顶级发布者处对其进行更新
失败的文章的partition_options-setting为\“ Nonoverlapping,single subscription \”。
我尝试执行的SQL是一些nvarchar和位的简单参数化UPDATE。
有人知道我缺少什么吗?不会远...
编辑:
SQL Server 2008 R2顺便说一句。
解决方法
我找到了。
问题是我尝试进行的更新(在这种情况下为实体框架)也包括了我在过滤器表达式中使用的列,因此此更新将更改此数据集的分区,这显然是不允许的。