Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

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.

share|improve this question

migrated from stackoverflow.com Oct 30 '12 at 18:51

This question came from our site for professional and enthusiast programmers.

3  
What is @@VERSION? There are fixes that may be relevant: support.microsoft.com/kb/2522893 & support.microsoft.com/kb/2603910 –  Aaron Bertrand Oct 30 '12 at 16:31
    
Doesn't seem like a programming question. You might try at Server Fault or Database Administrators Stack exchange sites –  automatic Oct 30 '12 at 16:38
1  
I'd start by running DBCC CHECKDB and see what corruption the database engine finds. –  mrdenny Oct 30 '12 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 Oct 30 '12 at 19:29
3  
You might consider applying a service pack or three. –  Aaron Bertrand Oct 30 '12 at 20:23

1 Answer 1

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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