Error 845: Time out occurred while waiting for buffer latch type 1 for page (0:-1688993522), database ID 5, object ID 0, index ID 0

  • (SQL Server 7 SP4)

    Last night, my scheduled optimisations job failed while reindexing with the following error:

    [Microsoft SQL-DMO (ODBC SQLState: HY000)] Error 5180: [Microsoft][ODBC SQL Server Driver][SQL Server]Could not open FCB for invalid file ID 0 in database 'PLMS'. Table or database may be corrupted.

    [Microsoft][ODBC SQL Server Driver][SQL Server]Index (ID = 1) is being rebuilt.

    [Microsoft][ODBC SQL Server Driver][SQL Server]Index (ID = 2) is being rebuilt.

    ** Execution Time: 0 hrs, 8 mins, 12 secs **

    [Microsoft SQL-DMO (ODBC SQLState: 08S01)] Error 0: [Microsoft][ODBC SQL Server Driver]Communication link failure

    Now my hourly transaction log backup fails every time with the following:

    [1] Database PLMS: Transaction Log Backup...

    Destination: [D:\PLMS_BACKUP\PLMS\PLMS_tlog_200901051000.TRN]

    [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 845: [Microsoft][ODBC SQL Server Driver][SQL Server]Time out occurred while waiting for buffer latch type 1 for page (0:-1688993522), database ID 5, object ID 0, index ID 0.

    [Microsoft][ODBC SQL Server Driver][SQL Server]Backup or restore operation terminating abnormally.

    Deleting old text reports... 2 file(s) deleted.

    And my SQL log contains the following every few minutes:

    2009-01-05 10:12:12.61 spid5 Error: 845, Severity: 17, State: 2

    2009-01-05 10:12:12.61 spid5 Time out occurred while waiting for buffer latch type 1 for page (0:-1688993522), database ID 5, object ID 0, index ID 0..

    2009-01-05 10:22:12.89 spid63 Time out occurred while waiting for buffer latch type 1, bp 0x145ec580, page (0:-1688993522), stat 0x40d, object ID 5:0:0, waittime 500. Continuing to wait.

    2009-01-05 10:33:53.31 spid5 Time out occurred while waiting for buffer latch type 1, bp 0x145ec580, page (0:-1688993522), stat 0x40d, object ID 5:0:0, waittime 500. Continuing to wait.

    I've successfully reindexed the table in question, but my concern is that my Checkpoint process is sitting with a lastwaittype of PAGEIOLATCH_EX and the waitresource 5:0:-1688993522. What would happen if I restarted the server while the Checkpoint process cannot complete? Is the negative page number a sign of corruption or do pages in a certain state have a negative number?

    I've checked the disks and there are no problems with them. The server has a healthy amount of available ram and as far as I can see, it is not under any greater load than usual.

    Thanks,

    Simon

  • Eeep. That does not look good.

    There's no way that I know of to get a negative page number, as the page number is an incremental count of 8k chunks of the data file.

    Can you run a checkDB on that database? If possible, before you restart the service.

    DBCC CHECKDB (< Database Name > ) WITH NO_INFOMSGS, ALL_ERRORMSGS

    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 Gail,

    I ran the DBCC CHECKDB this morning and it came back completely clean. I restarted the server (had to use WITH NOWAIT as the checkpoint was still throwing an error) and when it came back up, everything seems to be okay. The data is all there and the database was accessible almost immediately, as if the checkpoint had been set successfully before shutdown.

    Still baffled by what happened but at least the server appears to be well again - will be keeping a close eye on it though.

    Thanks for your help.

    Simon

Viewing 3 posts - 1 through 2 (of 2 total)

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