症状
假设你在 Microsoft SQL Server 2012 或 SQL Server 2014 中使用合并复制,并将带有联接筛选器的新文章添加到现有发布。 当现有订阅者开始同步(在添加新文章后立即进行同步),然后同步中断后,在 sysmergesubsetfilters 中重新初始化受影响的订阅者之前,后续同步可能会失败,并出现重复键错误。 错误消息类似于以下内容:
源: Merge Replication ProviderNumber:-2147201001Message: merge 进程无法将快照传递给订阅者。 如果使用 Web 同步,合并过程可能无法创建或写入邮件文件。 进行故障排除时,请使用详细的历史日志记录来重启同步,并指定要写入的输出文件。源: Microsoft SQL Server Native Client 11.0 号码:2601Message:无法在具有唯一索引 "uc2sysmergesubsetfilters" 的对象 "sysmergesubsetfilters" 中插入重复键行。 重复键值为(<键值>,<表名称>)。
解决方案
在以下 SQL Server 累积更新中首先修复此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 我们建议你下载并安装 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。