Microsoft Microsoft SQL Server 2012、2014 或 2016 修补程序作为一个可下载文件分发。 由于修补程序是累积的,因此每个新版本都包含上一个SQL Server 2012、2014、2016 修补程序版本中包含的所有修补程序和所有安全修补程序。
症状
为 Microsoft SQL Server 2012、2014 或 2016 数据库启用更改数据捕获后,更改表中的 __$operation 列可能针对更新的行排序不正确。 更新行时,更改表中有两行,其中用于 __$operation 的 delete 和 insert。 但插入操作可能会在删除操作之前意外出现。 如果应用程序将行重新应用到具有主键约束的另一个表,则可能会出现以下主键冲突:
注意
消息 2627,级别 14,状态 1,第 6 行主要密钥约束“Primary_Key_name”。 无法在对象“table_name”中插入重复键。 重复键值 (值) 。
解决方法
此问题在以下SQL Server累积更新中已修复。
- SQL Server 2016 RTM 的累积更新 5
- SQL Server 2016 SP1 的累积更新 2
- SQL Server 2014 SP2 的累积更新 4
- SQL Server 2014 SP1 的累积更新 10
- 2014 SQL Server累积更新 9
- SQL Server 2012 SP3 的累积更新 8
- SQL Server 2012 SP2 的累积更新 7
建议:安装SQL Server的最新累积更新
SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:
- SQL Server 2016 年的最新累积更新
- SQL Server 2014 年的最新累积更新
- SQL Server 2012 SP3 的最新累积更新
- SQL Server 2012 SP2 的最新累积更新
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
参考资料
了解 Microsoft 用于描述软件更新的术语。