I upgraded 3 of our SQL servers from 2008R2 SP1 to 2008R2 SP2 Monday night. One database (out of 9 DBs on the 3 servers) can no longer run a backup or checkpoint.
The error is:
Msg 2601, Level 14, State 1, Procedure sp_flush_commit_table, Line 15
Cannot insert duplicate key row in object 'sys.syscommittab' with unique index 'si_xdes_id'. The duplicate key value is (2273355842).
The statement has been terminated.
Msg 3999, Level 17, State 1, Line 2
Failed to flush the commit table to disk in dbid 8 due to error 2601. Check the errorlog for more information.
I ran some queries on dm_tran_commit_table and we seem to have several (14) ids with duplicate values in the table:
SELECT * FROM sys.dm_tran_commit_table
WHERE xdes_id IN ('2273355860', '2273355850', '2273355867', '2273355863', '2273355870', '2273355842', '2273355855', '2273355857', '2273355874', '2273355847', '2273355865', '2273355845', '2273355854', '2273355877')
ORDER BY xdes_id
Returns:
83719828 2273355842 16846661326308249 117567 2012-08-14 04:18:44.583
83719842 2273355842 16846661326308249 0 2012-08-14 04:23:38.750
83719829 2273355845 16846661326308253 117570 2012-08-14 04:18:44.783
83719843 2273355845 16846661326308253 0 2012-08-14 04:23:38.750
83719830 2273355847 16846661326308256 117574 2012-08-14 04:18:44.907
83719844 2273355847 16846661326308256 0 2012-08-14 04:23:38.750
83719831 2273355850 16846661326308262 117578 2012-08-14 04:18:44.943
83719845 2273355850 16846661326308262 0 2012-08-14 04:23:38.750
83719832 2273355854 16846661326308267 117582 2012-08-14 04:18:45.133
83719846 2273355854 16846661326308267 0 2012-08-14 04:23:38.750
83719833 2273355855 16846661326308271 117583 2012-08-14 04:18:45.137
83719847 2273355855 16846661326308271 0 2012-08-14 04:23:38.750
83719834 2273355857 16846661326308274 117587 2012-08-14 04:18:45.293
83719848 2273355857 16846661326308274 0 2012-08-14 04:23:38.750
83719835 2273355860 16846661326308278 117591 2012-08-14 04:18:45.307
83719849 2273355860 16846661326308278 0 2012-08-14 04:23:38.750
83719836 2273355863 16846661326308284 117594 2012-08-14 04:18:45.490
83719850 2273355863 16846661326308284 0 2012-08-14 04:23:38.750
83719837 2273355865 16846661326308287 117596 2012-08-14 04:18:45.530
83719851 2273355865 16846661326308287 0 2012-08-14 04:23:38.750
83719838 2273355867 16846661326308292 117600 2012-08-14 04:18:45.720
83719852 2273355867 16846661326308292 0 2012-08-14 04:23:38.750
83719839 2273355870 16846661326308316 117604 2012-08-14 04:18:45.780
83719853 2273355870 16846661326308316 0 2012-08-14 04:23:38.750
83719840 2273355874 16846661326308500 117607 2012-08-14 04:18:45.960
83719854 2273355874 16846661326308500 0 2012-08-14 04:23:38.750
83719841 2273355877 16846661326308503 117609 2012-08-14 04:18:46.040
83719855 2273355877 16846661326308503 0 2012-08-14 04:23:38.750
On all of the other dbs there are no ids with duplicate values in that table.
I have referenced this page http://support.microsoft.com/kb/2522893 , but the patch that is suggested to fix it is CU8 (10.50.1797) and we were already on 10.50.2500 (now 10.50.4000).