How to estimate the time required to offline defrag.

Our databases are growing very fast. And after deleting lots of emails, of course, Exchange doesn't free up the white space. To do so we have to either create a new database and migrate users to it, then delete the old d/b OR use the offline defrag utility... eseutil.exe /D path\to\file.edb.

My first choice would be the create a new database and migrate. That way the org mail is not down. But if we were to decide to go the offline defrag route, how can we get a general idea of how long it would take? We have five database each approximately 100Gbs on high availability virtual HDDs on ESX VMs with 12GBs RAM. I'd hate to tell my boss it could take 6-12 hours and it take 3 days...LOL.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ibrahim BennaTechnology LeadCommented:
Question - are you sure you want to do an offline defragmentation? Do you have DAG configured in your organization? If so then you may want to read this article about defragmenting databases in a DAG.

There really is no way to estimate how long it will take to do a defragmentation as the server performance has an impact and so does the speed of your disks and amount of memory. Generally the estimate is between 5GB to 7GB an hour so for a 100GB database, worse case would possibly take 20hours. I always recommend to my clients to do the online mailbox move option as it does not require downtime.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Michael DyerSenior Systems Support AnalystCommented:
Microsoft recommends a conservative 5 – 7 GB per hour for a defrag operation, which means that your server could be offline for up to 20 hours.  That said, I know of one 45 gig db that took around 3 hours to defrag so it could be a lot less time - it really depends on how much whitespace is in your database and the hardware you are running on.

You can run ESEUTIL with the /p switch to configure ESEUTIL to create the new defragmented database on an alternate location (for example, to a location on a different hard disk). This switch lets you preserve your original defragmented database (which lets you revert back to your original database if necessary). This switch also significantly reduces the amount of time it takes to defragment a database, because you are rebuilding to a new location, rather then rebuilding the database in place.
Ibrahim BennaTechnology LeadCommented:
You can run ESEUTIL with the /p switch to configure ESEUTIL

Michael Dyer, I think you mean ESEUTIL /D to do a defragmentation not ESEUTIL /P (a database repair switch). You only want to run /P as a last resort to repairing a corrupted database.
Michael DyerSenior Systems Support AnalystCommented:
My understanding is that /D defrags in place, /P is necessary to defrag to a new location.
Ibrahim BennaTechnology LeadCommented:
Yes you are correct but the /P is used in conjunction with the /D in this case as in:

ESEUTIL /D databasename /P

But if you simply run ESEUTIL /P you are performing what is called a hard repair on the database.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.