May 20, 2003 at 6:53 am
1) Didn’t see any disk errors in the SYSTEM logs
S1)tarting at 7:40 PM the SQL logs show the following sequence of errors till approx. 8:30pm (after which the server crashed)
- Getpage: bstat=0x9, sstat=0x10000, cache
- Pageno is/should be: objid is/should be
(5:271658)/(5:271658)
-953874565/1621684925 NOTE: the object Ids are different
…IAM indicates that the page is NOT allocated to this object
Error: 605, Severity:21, state:1
Attempt to fetch logical page (5:271658) in database ‘JDE_PRODUCTION’ belongs to object ‘F4111’, not object ‘F0101’…
The above sequence of errors repeats till the time of the crash
Can anyone shed some light on how/why page-allocation is getting confused/corrupted ? Is this indicative of a disk problem that somehow went unreported in the OS ?
Terry
Terry
May 20, 2003 at 7:01 am
Have you run a DBCC CHECKDB() on JDE_Production?
K. Brian Kelley
http://www.truthsolutions.com/
Author: Start to Finish Guide to SQL Server Performance Monitoring
http://www.netimpress.com/shop/product.asp?ProductID=NI-SQL1
K. Brian Kelley
@kbriankelley
May 20, 2003 at 9:16 am
I started that as soon as I got in this mornig. It returned the following: CHECKDB found 3 allocation errors and 17 consistency errors in database 'JDE_PRODUCTION', as well as this:Extent (5:271656) in database ID 7 is allocated by more than one allocation object.
Any thoughts on how to correct this?
Terry
Terry
May 20, 2003 at 9:50 am
In Books Online there's a page on DBCC CHECKDB() that describes the options in more detail than I will here (so read it before running), but basically this is what you've got:
REPAIR_FAST - fixes minor errors; no data loss
REPAIR_REBUILD - REPAIR_FAST w/ indexes; no data loss
REPAIR_ALLOW_DATA_LOSS - It'll correct the allocation errors, but data loss is possible
Most likely, you're going to have to go the REPAIR_ALLOW_DATA_LOSS route in order to fix the errors, but try the REPAIR_REBUILD first. Also, how recent are your backups? If there is data loss, you may have to go back to them.
K. Brian Kelley
http://www.truthsolutions.com/
Author: Start to Finish Guide to SQL Server Performance Monitoring
http://www.netimpress.com/shop/product.asp?ProductID=NI-SQL1
K. Brian Kelley
@kbriankelley
May 20, 2003 at 10:05 am
What about dropping/recreating the indexes in question? Evidently this started happening on one of the production datsbases a couple of months ago and they finally asked me to step over for assistance so backups aren't going to be much good. Can this be run while users are in the database?
Terry
Terry
May 20, 2003 at 2:51 pm
Dropping and recreating the indexes may or may not help resolve the allocation errors. It will depend on what is stored on those pages. CHECKDB with the REPAIR_ALLOW_DATA_LOSS option will correct the allocation errors, which can be wrapped inside a transaction so that if the results are not to your liking you may rollback the changes.
CHECKDB with REPAIR_REBUILD, REPAIR_FAST, or REPAIR_ALLOW_DATA_LOSS do require the database to be in single-user mode.
David R Buckingham, MCDBA,MCSA,MCP
May 27, 2003 at 7:34 am
I set the db to single-user via EM. When I run the DBCC script, I receive an error stating 'Database 'JDEProduction' is already open and can only have one user at a time.'
sp_who doesn't show anyone in the database. Any ideas?
Terry
Terry
May 27, 2003 at 7:38 am
Please disregard the last message. Evidently, you need to shut down EM after setting the database to single user mode, then all works fine.
Terry
Terry
Viewing 8 posts - 1 through 7 (of 7 total)
You must be logged in to reply to this topic. Login to reply