Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase 12»»

Corrupt Database running dbcc checkdb, missing sys.indexes (urgent help needed!) Expand / Collapse
Author
Message
Posted Monday, June 1, 2009 3:55 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Saturday, June 8, 2013 5:26 AM
Points: 7, Visits: 21
Hi to everyone,

i have a serious problem.

I am running an MS SQL Server 2005 with SP3 (4035). Today I have experienced some problems with my
application and then run a dbcc checkdb, that prompted the following problem:

Meldung 8992, Ebene 16, Status 1, Zeile 1
Meldung 3855 zum Prüfen des Katalogs, Status 1: Das Attribut (lob_data_space_id=4194304) ist ohne eine Zeile (object_id=1379588053,index_id=3) in sys.indexes vorhanden.


What does the error mean?
Searching some phrases in forums, at Microsoft or google - I cannot find anything helpful.

Running the statement
select * from sysindexes
gives me back rows from the database

running the statement
dbcc checktable(SYSINDEXES)
says that the table is not available or existent (is this normal?)


Even changing the database to single_user_mode and running
DBCC CHECKDB (mydatabase, Repair_Rebuild)
brings the same error.

I´ve starte recovering my backups since the last 4 weeks and now I am running out
of opportunities

Does anyone have a clue where to check or if this error is repairable?

Thanks in Advance for help and hints.

Kind regards

Holger Degroot
com:con solutions GmbH
callto://holgerdegroot
(skype: holgerdegroot)

Post #727037
Posted Monday, June 1, 2009 4:05 PM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Thursday, July 3, 2014 4:00 PM
Points: 2,038, Visits: 1,663
Is this the first time you've run DBCC CHECKDB since upgrading to 2005? I'm guessing your answer is going to be no, as I believe this is a post-upgrade corruption. It's saying that the metadata for the referenced object is corrupt.

Google this error goes straight to the Books Online entry for it: http://msdn.microsoft.com/en-us/library/aa337359.aspx (but maybe not Googling in German). This error cannot be repaired by DBCC.

Sys.indexes is not a table in 2005. It's a view, which combines some hidden system tables, and some internal code to output what used to be sysindexes.

You have some choices for recovery, as the BOL entry says: restore or extract out. At a push you might be able to repair this manually, but I don't recommend doing that. As the very first thing to try, I would either rebuild or drop/create that nonclustered index.

You then have to figure out what happened. First off, was this the first DBCC CHECKDB after upgrading from 2000?

Thanks


Paul Randal
CEO, SQLskills.com: Check out SQLskills online training!
Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005
Post #727040
Posted Monday, June 1, 2009 4:44 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Saturday, June 8, 2013 5:26 AM
Points: 7, Visits: 21
Hi,

no it wasnt the first time. but i´ve noticed that the database was running in compatibilty mode (sql 8 2000) and then i have changed it to native (sql 2005) mode. I changed it back several times and then running dbcc checkdb, but it didn´t work my way.

What table/index should I rebuild/drop/re-create?


I think I now what happened. The database is part of a German CRM system which uses own replication algorythm. on friday there were some suspicious error messages i think which will have caused the desaster now. The main system and main database has the errors, the replication partner which uses a full replication (fyi: no MS SQL replication!) has no errors running dbcc checkdb.

What is very strange is that I used backup files and restored the database from over the last two weeks and now they fail, too - thats what I don´t understand.

Perhaps you can tell me what my possibilities to recreate or rebuild the indexes.

Thank you.

Holger Degroot



Post #727055
Posted Monday, June 1, 2009 5:24 PM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Thursday, July 3, 2014 4:00 PM
Points: 2,038, Visits: 1,663
Compatibility mode has nothing to do with the database version, just a few bits of query behavior.

Rebuild index 3 of table 1379588053. You can get the names using OBJECT_ID and INDEX_ID.

Not a repl expert but I don't believe it would cause this, and the application simply can't cause it.

Thanks


Paul Randal
CEO, SQLskills.com: Check out SQLskills online training!
Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005
Post #727064
Posted Monday, June 1, 2009 6:09 PM


SSC Rookie

SSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC RookieSSC Rookie

Group: General Forum Members
Last Login: Monday, June 16, 2014 6:27 PM
Points: 35, Visits: 247
Paul,

Would there not be some issues caused by the OP's attempt to bounce the database version from 2000 to 2005 and then back to 2000?

Then again, this might just be pure hardware issue.
Post #727070
Posted Monday, June 1, 2009 6:18 PM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Thursday, July 3, 2014 4:00 PM
Points: 2,038, Visits: 1,663
@rlm - no, because OP didn't do that. He (from the name) changed the compatibility level of the database. You can't change the version of the database. They are not the same.

See Search Engine Q&A #13: Difference between database version and database compatibility level


Paul Randal
CEO, SQLskills.com: Check out SQLskills online training!
Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005
Post #727071
Posted Monday, June 1, 2009 11:35 PM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Saturday, June 8, 2013 5:26 AM
Points: 7, Visits: 21
Hi,

the object id identifies a table named: gwDataStruct.
select Object_name(1379588053) brings gwdataStruct

Unfortunately there are only 2 indexes and non of them has id 3


Can you help what
lob_data_space_id=4194304
means because i cannot find this in the database

select object_name(4194304) results NULL

is Lob_data_space_id important?

Thanks for your help

Holger Degroot
Post #727152
Posted Monday, June 1, 2009 11:45 PM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Thursday, July 3, 2014 4:00 PM
Points: 2,038, Visits: 1,663
Did there used to be another index? Was it dropped properly?

Paul Randal
CEO, SQLskills.com: Check out SQLskills online training!
Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005
Post #727158
Posted Tuesday, June 2, 2009 12:13 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Saturday, June 8, 2013 5:26 AM
Points: 7, Visits: 21
>>>>>>Did there used to be another index?
No, comparing to the other system it looks the same.
there are only two indexes for the table gwDataStruct

>>>>>>Was it dropped properly?
I did not drop the two existing indexes, because then
it says it will loose the access to the table gWDataStruct

Thanks for your help.
Kind regards
Holger Degroot
Post #727167
Posted Tuesday, June 2, 2009 8:38 AM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Thursday, July 3, 2014 4:00 PM
Points: 2,038, Visits: 1,663
What were the suspicious error messages you spoke of previously?

You've got a few, equally unpleasant choices:
1) restore back to a backup from before the corruption occured
2) extract out the data into a new database, or just live with DBCC CHECKDB always raising this error
3) manually hack the underlying system tables to remove the broken data.

I recommend #1 or #2. #3 is possible (I demo it at conferences) but I don't know which table you'd need to change to fix this particular problem.


Paul Randal
CEO, SQLskills.com: Check out SQLskills online training!
Blog:www.SQLskills.com/blogs/paul Twitter: @PaulRandal
SQL MVP, Microsoft RD, Contributing Editor of TechNet Magazine
Author of DBCC CHECKDB/repair (and other Storage Engine) code of SQL Server 2005
Post #727469
« Prev Topic | Next Topic »

Add to briefcase 12»»

Permissions Expand / Collapse