Cannot insert duplicate key row in object 'sys.syscommittab'

  • Hi there

    I have a SQL Server 2008 R2 on a windows 2008 server.

    After one failed backup, I started getting these errors:

    Error: 2601, Severity: 14, State: 1.

    Cannot insert duplicate key row in object 'sys.syscommittab' with unique index 'si_xdes_id'.

    Error: 3999, Severity: 17, State: 1.

    Failed to flush the commit table to disk in dbid 5 due to error 2601. Check the errorlog for more information.

    From Microsoft, I found this:

    A backup Operation On A SQL Server 2008 Database Fails If You Enable Change Tracking On This Database

    http://support.microsoft.com/kb/978839

    But this bug refers to SQL Server 2008. What should I do if in my case is a R2 version?

    Thanks in advance

  • Since the fix involved either applying a CU (probably not applicable to R2), or restarting change tracking, I'd either contact Microsoft support and ask about the CU, or restart change tracking if you can do that.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • I've already did bit it didn't work.

    What I did now was to disable the change tracking, do backup, and enable the change tracking again.

    It seems is working well now.

    Thanks.

  • Good to know it can be a problem in R2, and that there's an easy way to resolve it.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • I faced same problem as you described. Then I disabled and enabled Change Tracking, installed latest service pack with no success, Nothing was the solution for my case.

    Then I followed below way. It solved the problem.

    1.Put database single user mode.

    2.Create a DAC Connection to database. For DAC info click here.

    3.Run this : DBCC CHECKTABLE("sys.syscommittab", REPAIR_REBUILD)

    4.Put database multi user mode.

  • DBCC CHECKTABLE didn't work for me.

    I had to follow instruction described in this article (http://gursethi.blogspot.com.au/2010/08/error-2601-severity-14-state-1-cannot.html) to delete records in sys.syscommittab which then fixed the issue for me.

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply