4

We are running an Exchange 2010 Standard server with two mailbox databases. We want to make these databases as small as possible since the space is needed for something else.

How I have two options: - Offline defrag the DB's >> Downtime - Create a new database, move all boxes from the old to the new DB, then delete the old DB. Do these steps again for the second database.

But, is this recommended? I like option two since I have no downtime. But should I pay special attention to system mailboxes and stuff like that?

Greets

5
  • How large are we talking about here? Do you have a maintenance window available for possible downtime?
    – Reaces
    Feb 13, 2015 at 12:46
  • We are talking about 2 DB's of around 100gb each. So 200gb total. Downtime is possible, but rather not off course. If there are no downsides at moving the mailboxes, I prefer that path.
    – Mbrouwer88
    Feb 13, 2015 at 12:47
  • 3
    How much whitespace are we talking about you reclaiming? I'd personally be wary of words like "as small as possible since the space is needed for something else". You could find yourself in the future running out of disk space for Exchange.
    – TheCleaner
    Feb 13, 2015 at 14:18
  • Add space to your server or delete mailbox user or limit their mailbox usage.... As you can be sure it will fill again...
    – yagmoth555
    Feb 13, 2015 at 14:32
  • 1
    We want to make these databases as small as possible since the space is needed for something else - That sounds like you're doing something that may not be recommended. Exchange servers should fill no other role, IMO. They should be Exchange servers and you should build them to suit the needs of Exchange, not something else. What is this something else that you need the disk space for?
    – joeqwerty
    Feb 13, 2015 at 22:51

1 Answer 1

2

The second option is definitely the best one, as it involves no downtime and no risk of damaging your database (hey, that can happen during a defrag); just make sure to turn on circular logging on both databases between which you are moving mailboxes, or the transaction logs will quickly fill up your disk space (and then turn it back off as soon as you finish moving those mailboxes).

On the subject of transaction logs: are you taking regular backups with an Exchange-aware backup software? This is not only for the safety of your data, but also because otherwise transaction logs will never be truncated, because Exchange only truncates them after a successful backup (and you shoud definitely not delete them manually).

Last but not least: while shrinking your database size might look like a good temporary solution, please keep in mind that your database will grow back again as soon as more messages get stored in it; make sure to account for database growth, or at the very least to use mailbox quota to avoid people overfilling it; an Exchange server running out of disk space is a situation in which you just don't want to be.


About hidden system mailboxes: the standard Get-Mailbox cmdlet will not even show them, but you can use the -arbitration parameter to list them:

Get-Mailbox -Arbitration -database YourDBName

You can then pipe the command output into whatever command you use to move the mailboxes to another database.

1
  • Hi Massimo, thanks you the answer, even though this question is a year old :). We went for option two, did the job really fine!
    – Mbrouwer88
    Mar 18, 2016 at 22:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .