FIX: The change table is ordered incorrectly for updated rows after you enable change data capture for a Microsoft SQL Server 2012 or 2014 database


Microsoft distributes Microsoft SQL Server 2012 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 fix release.
Symptoms
After you enable change data capture for a Microsoft SQL Server 2012 database, the __$operation column in the change table may be ordered incorrectly for updated rows. When you update a row, there are two rows in the change table, with delete and insert for __$operation. But an insert operation may unexpectedly appear before a delete operation. If the application reapplies the rows to another table with a primary key constraint, the following primary key violation may occur:

Msg 2627, Level 14, State 1, Line 6Violation of PRIMARY KEY constraint 'Primary_Key_name'. Cannot insert duplicate key in object 'table_name'. The duplicate key value is (value).

Cumulative Update information

This issue was first fixed in the following cumulative update of SQL Server.
Recommendation: Install the latest cumulative update 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:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
Learn about the terminology that Microsoft uses to describe software updates.
Properties

Article ID: 3030352 - Last Review: 09/02/2015 19:36:00 - Revision: 4.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbfix kbexpertiseinter kbsurveynew KB3030352
Feedback