January 5, 2009 at 5:42 am
(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
January 5, 2009 at 11:01 am
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
January 6, 2009 at 2:34 am
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