I am running CheckDB with REPAIR_ALLOW_DATA_LOSS on a Shairpoint search DB that is 47mb
It has been running for > 30min. Is that normal?
How long should it take?
I am running CheckDB with REPAIR_ALLOW_DATA_LOSS on a Shairpoint search DB that is 47mb
It has been running for > 30min. Is that normal?
How long should it take?
Ha - my (un)favorite question I get asked (as I wrote DBCC CHECKDB).
Here you go:
There's only one time when you should be trying to work out how long a CHECKDB is going to take - when you're planning your regular database maintenance. If you're faced with a corrupt (or suspected corrupt) database and you're only just starting to think about how long a CHECKDB is going to take - you've made a mistake while planning your disaster recovery strategy. You always need to know how long CHECKDB takes (on average) to run for your database so:
At every conference I go to, someone asks me how long CHECKDB will take to run on their database. There are several ways I could answer this:
Now, many people would see the third answer as being somewhat equivalent to the first answer - unhelpful. The problem is that there are many factors which influence how long CHECKDB will take to run. Let me explain the ten most important factors so you get an idea why this is actually a helpful answer. These aren't in any particular order of importance.
Now one other thing to bear in mind is that using REPAIR_ALLOW_DATA_LOSS makes the checks run single-threaded, so the repairs get ordered correctly - which makes it run longer. Take a look in the error log on 2005 SP2+ for message 5268 - it indicates a deep-dive, as I mentioned above.
Summary So you can see that there's no simple answer. Hope this helps!
PS Forgot to say that in SQL 2005 I added progress reporting to DBCC CHECKDB. You can query the
sys.dm_exec_requests
DMV and look for thepercent_complete
column.This totally depends upon the size of the DB (you stated 47MB), amount of corruption, speed of system, etc. I would continue to let it run until you get a timeout or other error, just to be sure. Either that, or restore a known good backup, if you have one.
You can also launch ProcessExplorer and take a look at CPU/Disk usage to see if it is actually doing anything or 'hung up'.
This answer obviously does not come close to Paul's awesome answer to your specific question.
Reading between the lines, however, if you have a corrupt search database in SharePoint, at 47MB it would probably be much quicker to reset the search index and re-crawl the content than it would be to try to fix any corruption in the Search DB. Steps here (the KB article is about a different problem, but resetting the search index/database steps are the same): http://support.microsoft.com/kb/948909
It still wouldn't hurt to figure out the root cause of the corruption, and baseline the CheckDB runtime on your Content Databases, but the Search Database is a semi-transient entity as it is. Your only hit would be the full crawl (which you would probably want to run in off-peak hours... it is pretty CPU and I/O intensive).