症状
请考虑以下情况:
-
您设置了发布者是本地数据库的事务复制环境。
-
本地数据库托管在运行 Microsoft SQL Server 2012 Service Pack 3 (SP3)的服务器上,SQL Server 2012 Service Pack 2 (SP2)、SQL Server 2014 或2016的累积更新7。
-
订阅者是 Azure SQL 数据库。
但是,当你将快照应用到订阅者数据库时,分发代理将失败。 此外,你会收到类似以下内容的错误消息:
无法解决 "等于" 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Latin1_General_CI_AS" 之间的排序规则冲突。 (源: MSSQLServer,错误号码:468)
原因
出现此问题的原因是 Azure SQL 数据库的目录数据库的排序规则与发布者和订阅服务器上复制数据库的排序规则不同。
解决方案
累积更新信息
以下更新修复了此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
解决方法
若要解决此问题,请执行下列操作之一:
-
从 SQL server 2012 SP3 降级到 SQL Server 2012 Service Pack 2 的累积更新4(内部版本11.00.5569)。
-
将所涉及的数据库的排序规则更改为与 Azure SQL 数据库上的服务器排序规则相同(SQL_Latin1_General_CP1_CI_AS)。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语 。