Table Corrupt error

  • Hello everyone, I have the following entry in my log files:

    Table Corrupt: IAM page (1:2537049) (object ID 2107154552, index ID 0) is out of the range of this database.

    This error is repeated in the log file thousands of times (with different object id). The object ID above is for the sp_MSchange_priority procedure. I am not sure what this error means and how to go about troubleshoot it. Any help would be appreciated. Thank you.

  • Not much to be done except run dbcc, either with checktable or checkdb and set the repair options. I'd try to make a backup first just in case, entirely possible you'll lose some data in the course of the dbcc running.

    Andy

    http://www.sqlservercentral.com/columnists/awarren/

  • Another possibility, DBCC may see errors but not report an underlying issue. Specifically if you have a drive with bad sectors. This from what I have had to deal with is rare but I have had a drive that developed 50% bad sectors over a few months and died. Before you check make a backup and run ChkDisk or right click the drive, choose properties, then tools and check disk. Just another thing to check.

    "Don't roll your eyes at me. I will tape them in place." (Teacher on Boston Public)

  • I ran DBCC CHECKDB on all of my databases on that server. The results of only one database returned errors.

    Here is one of the errors:

    "Server: Msg 8906, Level 16, State 1, Line 0

    Page (1:99) in database ID 7 is allocated in the SGAM (1:3) and PFS (1:1), but was not allocated in any IAM. PFS flags 'MIXED_EXT ALLOCATED 100_PCT_FULL'. "

    The other errors are in the same format too. Also, the Table Corrupt error that I posted in the first message belongs to a table that is not in the above database. DBCC CHECKDB did not catch anything about any table corruption. Any ideas what I should do with these two problems? Thanks.

  • Regarding the Table Corrupt error:

    The Object ID exists in multiple databases for different objects, so the Table Corrupt error tells me nothing. What is the 1:2537049 numbers?

  • When I run DBCC CHECKDB ('DATABASENAME', REPAIR_REBUILD) I get the following message:

    The repair level on the DBCC statement caused this repair to be bypassed.

    Any ideas how to run CHECKDB and rebuild?

  • It sounds like whatever problems there are, the rebuild may result in a data loss.

    REPAIR_REBUILD will do the repair so long as all data is retained. This just leaves the REPAIR_ALLOW_DATA_LOSS option, which will perform the repair but may cause some of the information to be lost.

    K. Brian Kelley

    bkelley@sqlservercentral.com

    http://www.sqlservercentral.com/columnists/bkelley/

    K. Brian Kelley
    @kbriankelley

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply