how to shrink exchange 2003 database

We have a SBS2003 server with Exchange 2003 obviously. Our database has grown to the maximum limit. We then installed a barracuda message archiver to stub the attachments and archive old messages so the database would shrink.

When i look at the mailbox sizes in i can verify that al the mailboxes have shrinked in size. Counting al the mailbox sizes together gives me a sum of approximatly 18GB.

However when I look at my edb file, it is still more then 70GB.

How can i shrink this file so it resembles the size of my mailboxes? I want to do this to free up space on the hard disk.

Please advise.

Mailbox sizes in System Manager Database size in Explorer
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.

Praveen BalanSolution ArchitectCommented:
You will have to perform an offline defrag in-order to shrink/reduce the database size.

before that look for the white space availability (event 1221), that will give you an idea about the free space available inside the database. The database size will be reduced to that amount of space normally ...

You may follow the below link

Ensure you have a full, healthy backup before you start the procedure...


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
FlipTripAuthor Commented:
Thx for the quick response. I looked up the event:
Event Type:      Information
Event Source:      MSExchangeIS Mailbox Store
Event Category:      General
Event ID:      1221
Date:            27/10/2011
Time:            06:00:00
User:            N/A
The database "First Storage Group\Mailbox Store" has 44321 megabytes of free space after online defragmentation has terminated.

Does this mean that the size of my database will decrease with 44MB? Because that won't be worth the effort.

The article states that I need a 110% free space which I obviously don't have.

The database is located on the D drive.

Filip Disk space
Marc SmetsSystem AdministratorCommented:
44321 MB is 43.28 GB :-)
Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

Praveen BalanSolution ArchitectCommented:
You need to arrange the space, without that you will not be able to complete the process..

May you can go for a DAS setup to finish the procedure.... USB is not recommended, Also keep in mind that the speed of the process will be ~9GB per hour and depends on your infrastructure.. Since you have more whitespace, you may plan for it,...

defragment process will be slow if you use network drive, and any disconnection will end the process as well..

FlipTripAuthor Commented:
Oeps :-),misread. 40GB is worth the trouble.

The server is virtualized on ESXi. I'm going to add their QNap as a datastore so i can add an additional disk. I will then use the /p switch.

Thx for the quick response and the clear answers.

Praveen BalanSolution ArchitectCommented:

It is not /p ... it is /d ..

eseutil /d

Read the article clearly ... :) /p will be used only as the last step when your database is corrupted.... DONT use this...
FlipTripAuthor Commented:
Are you sure?

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

Okay. I'm confused now.

1. Add an additional disk to my server for extra free disk space
2. Dismount database
3. Run ESUTIL /d to defragment the current database
Because the D drive, were my database is located, doesn't have a lot of free space I need to make sure that the extra disk is used temporary to successfully perform the defrag. (I will remove this extra disk when the defrag is done)
Which switch should i use then?

Praveen BalanSolution ArchitectCommented:
Yes, I am here.... (was out for sometime)...

assume like this,,
current database path - D:\MDBData
Defrag Drive/folder - P:\Defrag

your command should be something like

eseutil /d "D:\mdbdata\priv1.edb" /t "P:\Defrag\tempdfg.edb"

/p is used to preserve the current... , but I would suggest you take a full backup, if needed an offline copy of both stm and EDB and run the above command.

the below link give more info ..

take time to read, you may plan once you are clear...

defrag process may take 6 - 10 hours.. wait until it finishes..

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.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.