I/O error (torn page) detected during read

  • we are running a maintainance plan on sql 2000 standard edition, got the error,

    [2] Database db_source: Check Data Linkage...

    [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 8928: [Microsoft][ODBC SQL Server Driver][SQL Server]Object ID 1221579390, index ID 0: Page (1:197116) could not be processed. See other errors for details.

    [Microsoft][ODBC SQL Server Driver][SQL Server]Table error: Object ID 1221579390, index ID 0, page (1:197116).

    Test (IS_ON (BUF_IOERR, bp->bstat) && bp->berrcode) failed. Values are 2057 and -1.

    [Microsoft][ODBC SQL Server Driver][SQL Server]CHECKDB found 0 allocation errors and 2 consistency errors in table 'xxx'(object ID 1221579390).

    [Microsoft][ODBC SQL Server Driver][SQL Server]CHECKDB found 0 allocation errors and 2 consistency errors in database 'db_source'.

    [Microsoft][ODBC SQL Server Driver][SQL Server]repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (db_source noindex).

    when i run query on anlyzer select * from xxx, i got the error

    Server: Msg 823, Level 24, State 2, Line 1

    I/O error (torn page) detected during read at offset 0x000000603f8000 in file 'F:\Program Files\Microsoft SQL Server\MSSQL\data\db_Data.MDF'.

    Connection Broken

    please help. thanks

  • what does this mean: repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (db_source noindex).

  • If you run a dbcc check... with allow repair data loss, then there can be dataloss. In your case probably 2 records.

    With

    use mydb

    select OBJECT_NAME(.....) you can find out what table/... it is.

    I hope you have a recent backup. (check on consistency also)

  • When was your last database backup? Is the database in full recovery mode, and , if so, do you have the transaction log backups since the last full backup.

    How much data loss is acceptable for this DB?

    The recommended route for any form of data corruption is to restore a database backup and the tran log backups. Running repair, especially with allow_data_loss, is a last resort for when you don't have a good backup.

    Good place to look - http://www.sqlskills.com/blogs/paul/

    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
  • if the error has been ongoing for a while, will the backup still valid? how to verify that? thanks

  • i did "restore verifyonly ", return "the backup is valid", does that enough to tell the backup is good to restore?

  • Any backup you've made since the problem started will have the damaged page in and hence is useless for recovering from this.

    How long has this been going on? Why didn't you do something when it started.

    Especially in SQL 2000, verify only is not a guarantee that a backup can be restored. The only way to check that a backup can be restored is to restore 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

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

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