• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 526
  • Last Modified:

clustered key corruption

does the below indicate the clustered key corrupted in this table?

what may be the solution to go to restore this table (5 rows ) without data loss, if possible?

Table error: Object ID 145802425, index ID 1, partition ID 72057606569459712, alloc unit ID 72057606616907776 (type In-row data). The low key value on page (1:530232) (level 0) is not >= the key value in the parent (1:513691) slot 264.
Msg 8933, Level 16, State 1, Line 2
Table error: Object ID 145802425, index ID 1, partition ID 72057606569459712, alloc unit ID 72057606616907776 (type In-row data). The low key value on page (1:530233) (level 0) is not >= the key value in the parent (1:513691) slot 265.
Msg 8934, Level 16, State 2, Line 2
Table error: Object ID 145802425, index ID 1, partition ID 72057606569459712, alloc unit ID 72057606616907776 (type In-row data). The high key value on page (1:537792) (level 0) is not less than the low key value in the parent (0:1), slot 0 of the next page (1:530232).
Msg 8934, Level 16, State 3, Line 2
Table error: Object ID 145802425, index ID 1, partition ID 72057606569459712, alloc unit ID 72057606616907776 (type In-row data). The high key value on page (1:537792) (level 0) is not less than the low key value in the parent (0:1), slot 0 of the next page (1:530232).
Msg 2511, Level 16, State 2, Line 2
Table error: Object ID 145802425, index ID 1, partition ID 72057606569459712, alloc unit ID 72057606616907776 (type In-row data). Keys out of order on page (1:537800), slots 2 and 3.
CHECKDB found 0 allocation errors and 5 consistency errors in table 'T_POS_DET' (object ID 145802425).
0
25112
Asked:
25112
2 Solutions
 
lcohanDatabase AnalystCommented:
Please see comments at:

http://dba.stackexchange.com/questions/15280/how-do-i-fix-this-corrupted-page

I suggest you run a DBCC CHECKTABLE WITH ALL_ERRORMSGS, NO_INFOMSGS and make sure you have a good backup available just in case. If it is possible expand DBCC at DB level and/or if you have downtime available try drop/recreate the CLUSTERED index but only as last resort.
0
 
Scott PletcherSenior DBACommented:
You could try a repair that could not lose data, as that error looks like it could be "fixable".

You'll have to put the database into single_user mode, and repair can be slow on a large table, but it might recover the rows for you:


USE <your_db_name>

ALTER DATABASE <your_db_name>
SET SINGLE_USER WITH ROLLBACK IMMEDIATE -- **WILL KILL ALL CURRENT TASKS ON THIS DB EXCEPT THIS ONE**

DECLARE @table_name sysname
SET @table_name = OBJECT_NAME(145802425)

DBCC CHECKTABLE ( @table_name, REPAIR_REBUILD )

GO

ALTER DATABASE <your_db_name>
SET MULTI_USER



Or you could try pulling the data out of the existing table into a "clean" version of the table.
0
 
25112Author Commented:
thx 4 the idea.. worked
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now