Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm tasked with running some offline exchange defrags later. Its will be my first time. Any tricks and tips and gotchas I should know about before going in head first?

I just plan on using esutil and leave it running through the night.

share|improve this question
Check disk space for where you put temp defragged store. – Nixphoe Nov 21 '11 at 12:33
On a side note: unless you have some specific gripe with Exchange's DBs, I'd recommend against doing offline defrags. Running them is not normal, Exchange already does online defrags (by default weekly), and you'll see no performance gain (under normal circumstances). – Chris S Nov 21 '11 at 13:51
+20 if I could on Chris S comment re: not doing offline defrags. Unless you have some specific reason to do them, don't. You're opening yourself up to a lot of risk with no major reward. – Evan Anderson Nov 22 '11 at 20:22
up vote 4 down vote accepted
  1. Schedule a full backup of the mailbox stores before you defrag them.

  2. Make sure you have free space on the drive where the defrag is occurring of at least 110% of the mailbox store size.

  3. Plan on the process being able to defrag at a rate of about 4 to 5GB per hour. This is Microsoft's guideline. The process will often run faster than this but plan on this number for your maintenance window.

  4. Schedule a full backup of the mailbox stores after the defrag is completed. The defrag process actually replaces the original file with the defragged file. If you don't perform a full backup afterward it may throw off any incremental or differential backups that occur, depending on your backup software.

share|improve this answer
  1. It can take a really long time.
  2. Your users may not be fully on board with the extended downtime, even if management is. You may get some requests for progress status from unusual quarters.
  3. It'll make a full copy of each datastore file as it goes, so make sure you have enough disk-space.
  4. If you have multiple datastores, you can run the defrags in parallel to save time. Copy the datastore file to somewhere else and run the esutil task on the other server. Copy back when done. When we landed some database corruption, this method meant we were only down for 18 hours not 36.
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.