October 14, 2008 at 5:57 pm
I have a corrupted sysindexes table. Our server had a raid drive outage and when we recovered our sysindexes was corrupted. I have located the offending row, but cannot do anything with it.
I have been scouring this forum and tried most of the solutions that seem applicable. This is a fairly large database (to me anyway 200+GB) and coincidentally my backup system is down and being replaced, so I do not have a current backup. I do have, however, the next fiscal year database that was cloned from this one.
What are the chances of using that sysindexes in this database and how would I go about replacing/updating the sysindexes from one to the other.
I had sql 3.0 dba training and am now working in sql2000/sql2005 so allot of the features you just know i have to find, so please be kinda detailed in your answers.
Thanks,
Scott
October 14, 2008 at 8:51 pm
I assume that by now you have tried fixing using DBCC without any useful result.
If you have been able to determine which row is the problem, you should know whether the entry is for an index (Vs a cluster or heap) - i.e the value for INDID for the record is greater than 1. If it is, try dropping the index and then creating it again.
If the value of INDID is 0 or 1, I think you will need to restore from a backup.
October 15, 2008 at 1:38 am
Don't try directly updating/copying the sysindexes table. It;s a system table and if you mess with it you could end up with a worse problem than you currently have.
Please run the following and post the results
DBCC CheckDB (' < Database Name > ') WITH NO_INFOMSGS
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
October 15, 2008 at 7:34 am
When the attempt to drop the index is made we get the following message.
Server: Msg 644, Level 21, State 3, Line 1
Could not find the index entry for RID '160a1b727a010000' in index page (3:242705), index ID 0, database 'SGR_2008'.
Connection Broken
Also we cannot drop the table with the bad index entry due to this error as well.
October 15, 2008 at 7:36 am
DBCC CheckDB gives this ever so helpful message...
Server: Msg 7995, Level 16, State 1, Line 1
Database 'SGR_2008' consistency errors in sysobjects, sysindexes, syscolumns, or systypes prevent further CHECKDB processing.
??!?!??! <---- me being frustrated
October 15, 2008 at 8:15 am
That's kinda what I thought it would return.
You have two options at this point
1) Restore a backup of the database or replace it with the copy.
2) Script out the schema, bcp out what data you can and recreate the database. You probably won't get everything with the system tables corrupt
This database cannot be repaired. CheckDB won't even run because it has no way, with sysindexes corrupt, to find where the tables are. Even if it could run it would not be able to repair anything.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply