Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 Data Corruption Issues
 system table consistancy error

Author  Topic 

AskSQLTeam
Ask SQLTeam Question

0 Posts

Posted - 2005-08-02 : 10:46:15
ren writes "the error first appeared in error log as

I/O error (bad page ID) detected during read at offset 0x0000007852a000 in file 'I:\RD1DATA7\RD1DATA7.ndf'..

DBCC checkdb return message

Database 'dbname' consistency errors in sysobjects, sysindexes, syscolumns, or systypes prevent further CHECKDB processing.

dbcc checktable ('syscolumns') returned

Server: Msg 8928, Level 16, State 1, Line 1
Object ID 3, index ID 0: Page (10:621247) could not be processed. See other errors for details.
Server: Msg 8939, Level 16, State 1, Line 1
Table error: Object ID 1185438913, index ID 0, page (10:621247). Test (!(m_flagBits & PG_ALIGNED4)) failed. Values are 16386 and 1185438913.
Server: Msg 8940, Level 16, State 1, Line 1
Table error: Object ID 1185438913, index ID 0, page (10:621247). Test (IsAligned (m_freeData)) failed. Address 0x2ad is not aligned.
DBCC results for 'syscolumns'.
There are 11744838 rows in 188015 pages for object 'syscolumns'.
CHECKTABLE found 0 allocation errors and 1 consistency errors in table 'syscolumns' (object ID 3).
CHECKTABLE found 0 allocation errors and 2 consistency errors in table '(Object ID 1185438913)' (object ID 1185438913).
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKTABLE (RD1.dbo.syscolumns ).

Since the repair option requires single user mode, it will have big impact on the user. Is the I/O error (bad page ID) on the file a hardware failure? If not, what would cause this problem.

Thanks very much for your help"

paulrandal
Yak with Vast SQL Skills

899 Posts

Posted - 2005-08-02 : 12:20:51
Yes, this looks like a h/w issue.

Unfortunately this is going to require a restore from backup (or if you don't have a backup then extracting as much data as you can from the database). CHECKDB cannot repair broken data pages in sysindexes, sysobjects or syscolumns - these are critical to the integrity of the database and cannot be regenerated from redundant data. This means basically that this database is irrepairable.

The 8939 and 8940 referencing object ID 1185438913 are actually both from the same syscolumns page too, just that the header of that page has been corrupted and 1185438913 written into the field that would usually hold 3 for syscolumns pages.

This error is found during the primitive system table sanity checks that are done before starting the in-depth checks. Basically the leaf level of the sysindexes, sysobjects and syscolumns are checked for the following:

  • page can be latched, read, and is valid

  • page linkages are correct

  • there are no cycles in the page linkages


If any of these tests fail, the in-depth checks cannot continue.

You should check the SQL errorlog and Windows event logs for evidence of h/w problems with the drive hosting I:. You should also check you have the most up-to-date versions of all relevant firmware (i.e. you need to work out what happened on your h/w to ensure it doesn't happen again)

Thanks

Paul Randal
Dev Lead, Microsoft SQL Server Storage Engine
(Legalese: This posting is provided "AS IS" with no warranties, and confers no rights.)
Go to Top of Page

spirit1
Cybernetic Yak Master

11752 Posts

Posted - 2005-08-02 : 13:39:18
quote:

This error is found during the primitive system table sanity checks that are done before starting the in-depth checks.



oh man... when taken out of context this is killing me...
LOL

table sanity checks....hahahaha


Go with the flow & have fun! Else fight the flow
Go to Top of Page

paulrandal
Yak with Vast SQL Skills

899 Posts

Posted - 2005-08-02 : 13:53:58
quote:
Originally posted by spirit1

quote:

This error is found during the primitive system table sanity checks that are done before starting the in-depth checks.



oh man... when taken out of context this is killing me...
LOL

table sanity checks....hahahaha


Go with the flow & have fun! Else fight the flow



It gets better - in SQL Server 2005 we have antimatter! (I'm not kidding)

Paul Randal
Dev Lead, Microsoft SQL Server Storage Engine
(Legalese: This posting is provided "AS IS" with no warranties, and confers no rights.)
Go to Top of Page

spirit1
Cybernetic Yak Master

11752 Posts

Posted - 2005-08-02 : 13:56:53
REALLY????????

a simple ROTFLOL just does not do it for this:
hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha
hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaha


this is just too..... nerdy.... i love it!!

Go with the flow & have fun! Else fight the flow
Go to Top of Page

paulrandal
Yak with Vast SQL Skills

899 Posts

Posted - 2005-08-02 : 14:25:07
quote:
Originally posted by spirit1

REALLY????????



Yup - its to do with the way we reconcile updates to an index that is being (re)built online that come from the version scan and the dual-path updates occuring from regular DML. Unfortunately I can't go into the details of the algorithm itself but antimatter does exist as a concept in SQL Server.

Paul Randal
Dev Lead, Microsoft SQL Server Storage Engine
(Legalese: This posting is provided "AS IS" with no warranties, and confers no rights.)
Go to Top of Page
   

- Advertisement -