KB2962767 - FIX: "Cannot insert duplicate key" error occurs when you update a table by using a bitmap index that contains a partition key in SQL Server

Applies To
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptoms

Assume that you have a table that contains non-unique indexes in Microsoft SQL Server 2012 or SQL Server 2014. When you run a query to update the table by using the bitmap index that contains a partition key, you receive the following error message:

Note

Msg 2601, Level 14, State 1, Line 1
Cannot insert duplicate key row in object <table name> with unique index <index name>. The duplicate key value is (0, <the value>).

Note The index is not unique index and allows duplicates.

Resolution

The issue was first fixed in the following cumulative update of SQL Server.

Cumulative Update 4 for SQL Server 2014 /en-us/help/2999197

Cumulative Update 2 for SQL Server 2012 SP2 /en-us/help/2983175

Cumulative Update 11 for SQL Server 2012 SP1 /en-us/help/2975396

About cumulative updates for SQL Server

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

      

Workaround

To work around this issue, enable trace flag 8690 to disable the Spool operation. However, this workaround may cause a performance regression because the Spool is disabled.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.