Possible Data corruption ?

  • Hi all, I have this error whith this command

    backup log yp01financeiro with truncate_only

    go

    dbcc shrinkdatabase(N'yp01financeiro')

    Msg 8966, Level 16, State 4, Line 1

    Unable to read and latch page (1:412488) with latch type SH. UtilDbccVerifyPageId failed.

    This is a possible data corruption ?..

    Dbcc checkdb returns

    Msg 8946, Level 16, State 12, Line 1

    Table error: Allocation page (1:412488) has invalid PFS_PAGE page header values. Type is 0. Check type, alloc unit ID and page ID on the page.

    DBCC results for 'yp01financeiro'.

    Msg 8921, Level 16, State 1, Line 1

    Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.

    Msg 8966, Level 16, State 4, Line 1

    Unable to read and latch page (1:412488) with latch type SH. UtilDbccVerifyPageId failed.

    CHECKDB found 0 allocation errors and 1 consistency errors not associated with any single object.

    Msg 2579, Level 16, State 1, Line 1

    Table error: Extent (1:413448) in object ID 8, index ID 0, partition ID 524288, alloc unit ID 524288 (type In-row data) is beyond the range of this database.

    Msg 2579, Level 16, State 1, Line 1

    Table error: Extent (1:413472) in object ID 8, index ID 0, partition ID 524288, alloc unit ID 524288 (type In-row data) is beyond the range of this database.

    Msg 2579, Level 16, State 1, Line 1

    Table error: Extent (1:413480) in object ID 8, index ID 0, partition ID 524288, alloc unit ID 524288 (type In-row data) is beyond the range of this database.

    Msg 2579, Level 16, State 1, Line 1

    Table error: Extent (1:413688) in object ID 8, index ID 0, partition ID 524288, alloc unit ID 524288 (type In-row data) is beyond the range of this database.

    CHECKDB found 4 allocation errors and 0 consistency errors in table 'sys.sysfiles1' (object ID 8).

    CHECKDB found 4 allocation errors and 1 consistency errors in database 'yp01financeiro'.

    what is the severity of this error and what can I do?

    Thanks all

    $hell your Experience !!![/url]

  • I think I might start at a lower level. What media is this being stored on? Is it local disks? Are they RAID? San? ISCSI? FAS?

    If its local I might consider a scandisk first to see it it detects a problem with the storage. But that error looks pretty series. I think i might try to copy all the data out and not write ANYTHING new into it until I got all the data I could out..

    CEWII

  • Hi, thanks for help..

    This machine is our and Sata local disk. This machine we use to do our scripts and backup and restore in new customers.

    But yesterday this backup was restored in one new customer and the error shows in the customer.

    I think maybe i can do a database script and create a new database...but i want to know why this error happens

    $hell your Experience !!![/url]

  • You've got data corruption and it looks like very nasty corruption.

    There's damage to one of the system tables and that is not repairable in any way. Do you have a clean (undamaged) backup of this database? If so, you need to restore from backup. If you are in the full recovery model and have log backups, you should be able to restore almost the the point of failure (at least til the point you truncated the log and discarded log records).

    Because of the log truncation that you did, you will not be able to take a tail log backup and you will not be able to restore to the point of failure. Why are you truncating logs anyway?

    Before you do the restore, check the raid error logs or SAN error logs, depending what the storage subsystem is. Not interested in the backup machine, an interested in the actual database server that this database is running on. If there are errors, you need to resolve them before restoring, or you could be back here in a day or so.

    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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Hi Gila, thanks for your help´...

    Like I said, this database does not contains data (only a few lines in this tables), because this database goes to customers in new instalations of our program.

    I work with full (when applicable) and log backups..

    But look that...when i restore de full database at the customer, the error goes to. (why ?)

    So like your explanation i think i have to create a new database, copy the scripts....to solve the problem ?

    And ...what is the most likely cause for this error ?

    Thanks

    $hell your Experience !!![/url]

  • Laerte POltronieri Junior (7/26/2009)


    But look that...when i restore de full database at the customer, the error goes to. (why ?)

    All customers or one?

    Is the source DB clean? Have you run a checkDB on the source system?

    So like your explanation i think i have to create a new database, copy the scripts....to solve the problem ?

    No, that's not what I said.

    And ...what is the most likely cause for this error ?

    Problem with the IO subsystem.

    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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Well... i cannot say in all customers because we just put in one new customer....with the old we send scripts only...but in this new customer the error goes to

    I´m sorry, I understand your explanation wrong.....

    I tried dbcc checkdb with repair options (all) but the SSMS stops (i dont know how to say this in english..is like i´m finish and go out of SSMS)...

    What can i do ?

    $hell your Experience !!![/url]

  • Laerte POltronieri Junior (7/26/2009)


    I tried dbcc checkdb with repair options (all) but the SSMS stops (i dont know how to say this in english..is like i´m finish and go out of SSMS)...

    CheckDB can't repair this. I said that as well

    Is the source database that you took this backup from clean or does that have corruption? If you don't know, check it.

    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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Yes Gila..I dont have clean database...

    $hell your Experience !!![/url]

  • Ok, so do I have this correct?

    You have a source database, with data. You take a backup of this and restore it on the customer's site?

    The customer's database has the checkDB errors posted in the original post on this thread? This database is almost empty and the errors were found early in the installation.

    The source database that the backup was taken from is also corrupt?

    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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Thanks for your time and help Gail.

    We solve the problem creating a new database and runing the scripts ..so i drop de corrput database...Also, in the customer i did the same thing but with a litlle more work, because in a few days some tables already big...but everithing works fine.

    Thanks again Gail.

    $hell your Experience !!![/url]

  • Have you done some root cause analysis? Corruption is typically an IO subsystem problem.

    Have you scheduled regular CheckDB jobs?

    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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • I dont find anything about IO susbsystem problem...I look at Event Viwer, SQL Log..nothing....i dont know why yet...but the infra guy in the customer is searching...

    You think it´s god i use regular checkdb jobs ?

    But Gail, look....is other customer..in 4 mounths we have almost 4 TB information...

    This checkdb job....takes a long time and use so much log ?..(i dont know)

    $hell your Experience !!![/url]

  • Laerte POltronieri Junior (7/27/2009)


    You think it´s god i use regular checkdb jobs ?

    Not good, absolutely essential. If you're not running CheckDB, how do you expect to find these kind of problems early enough to fix them?

    But Gail, look....is other customer..in 4 mounths we have almost 4 TB information...

    This checkdb job....takes a long time and use so much log ?..(i dont know)

    So you don't care if some of that 4TB gets corrupt and has to be deleted because the corruption was detected too late to repair without data loss? That's what you're saying if you don't run CheckDB.

    http://www.sqlskills.com/BLOGS/PAUL/post/Importance-of-how-you-run-consistency-checks.aspx

    CheckDB does not use transaction log space. It can and does use TempDB, but not log space of the database it's checking.

    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

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Thanks a lot Gail..

    I will implement your sugestions....

    You are completely correct.

    $hell your Experience !!![/url]

Viewing 15 posts - 1 through 14 (of 14 total)

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