症状
假设你有一个表,其中包含 Microsoft SQL Server 2012 或 SQL Server 2014 中的非唯一索引。 使用包含分区键的位图索引运行查询更新表格时,将收到以下错误消息:
消息2601,级别14,状态1,行1Cannot 在对象 <表名称> 中插入重复键行,<索引名称> 的唯一索引。 重复项值为(0,<值>)。
注意索引不是唯一索引,允许重复。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 的累积更新4 /en-us/help/2999197
SQL Server 2012 SP2 的累积更新2 /en-us/help/2983175
SQL Server 2012 SP1 的累积更新11 /en-us/help/2975396
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
解决方法
若要解决此问题,请启用跟踪标记8690以禁用 后台打印 操作。 但是,此解决方法可能会导致性能退化,因为 后台打印 已被禁用。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。