5

I tried to backup the SQL Server 2008 database using the following code:

BACKUP DATABASE [DataStore] TO  DISK ='E:\SQLServerDatabase\DataBasebackUpOct302012.bak'

and I get the following error:

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'.

Msg 3013, Level 16, State 1, Line 1 BACKUP DATABASE is terminating abnormally. The statement has been terminated.

Msg 3999, Level 17, State 1, Line 1 Failed to flush the commit table to disk in dbid 11 due to error 2601. Check the errorlog for more information.

Could somebody suggest a solution to this problem?

The version is Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 (64-bit) on Windows NT 6.1 (Build 7600: )


In reply to the comments below:

Aaron Bertrand, Thank you. I am going to look into service packs and hope that is going to resolve the issue.

SQL-Learner,

Never used the change tracking services before.But we had unexpected Windows Server shutdowns due to mishandling 2-3 times.

Looks like I have to apply a service pack.

mrdenny,

Results after using DBCC CHECKDB Errors:

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 statement has been terminated.
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'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Msg 3999, Level 17, State 1, Line 1
Failed to flush the commit table to disk in dbid 11 due to error 2601. Check the errorlog for more information.
Msg 3999, Level 17, State 1, Line 1
Failed to flush the commit table to disk in dbid 11 due to error 2601. Check the errorlog for more information

Update 11/9/2012 I applied the Service Pack3 to SQL Server 2008 but I still could not create the back of the database. I have not rebooted the server as it didn't ask for it. Will have to reboot and check if the patch applied.

Would appreciate any comments/ideas as to how to go about it. Thanks.

7
  • 3
    What is @@VERSION? There are fixes that may be relevant: support.microsoft.com/kb/2522893 & support.microsoft.com/kb/2603910 Commented Oct 30, 2012 at 16:31
  • Doesn't seem like a programming question. You might try at Server Fault or Database Administrators Stack exchange sites
    – automatic
    Commented Oct 30, 2012 at 16:38
  • 1
    I'd start by running DBCC CHECKDB and see what corruption the database engine finds.
    – mrdenny
    Commented Oct 30, 2012 at 19:23
  • Will do and get back with the results. thank you. The version is Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )
    – Rodricks
    Commented Oct 30, 2012 at 19:29
  • 3
    You might consider applying a service pack or three. Commented Oct 30, 2012 at 20:23

1 Answer 1

4

Do you happen to use the change tracking services provided by in SQL 2008 Enterprise? If so, it's time to update your system. Please try to avoid running RTM anywhere. It's very risky from a security and sometimes stability point of view. :)

The following Microsoft Knowledge Base articles may be of use to you:


FIX: Backup fails in SQL Server 2008, in SQL Server 2008 R2 or in SQL Server 2012 if you enable change tracking on the database

This fix was first released in Cumulative Update 7 for SQL Server 2008 Service Pack 2.

Symptoms:

Error: 2601, Severity: 14, State: 1. Cannot insert duplicate key row in object 'sys.syscommittab' with unique index 'Name'. Error: 3999, Severity: 17, State: 1. Failed to flush the commit table to disk in dbid due to error 2601.


FIX: The sys.syscommittab system table is not cleaned up after the retention period for change tracking in SQL Server 2008

This fix was first released in Cumulative Update 11 for SQL Server 2008 Service Pack 1.

Symptoms:

You enable the Change Tracking and Auto Cleanup properties for a database in Microsoft SQL Server 2008.

You set the Retention Period and Retention Period Units properties.
In this scenario, the sys.syscommittab system table for change tracking is not cleaned up after the specified retention period.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.