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

问题描述

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

解决方法

我找到了。 问题是我尝试进行的更新(在这种情况下为实体框架)也包括了我在过滤器表达式中使用的列,因此此更新将更改此数据集的分区,这显然是不允许的。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...