Why Is My Exchange 2010 Mailbox Database Growing So Big?

A reader asks:

We recently migrated to Exchange Server 2010 and now not only is the mailbox database much larger than it was in Exchange Server 2003 but it seems to be growing a lot faster as well. Why is this happening?

In a perfectly healthy Exchange Server 2010 environment this difference in size and growth rate compared to Exchange Server 2003 is completely normal.

The first reason is the removal of single instance storage from the Exchange Server 2010 database schema. I’ve written about this before so I’ll just briefly recap it here. Microsoft determined that single instance storage was producing a rapidly diminishing benefit to Exchange customers while at the same time inhibiting improvements to the database disk I/O performance. So the decision was made to remove single instance storage in favor of an improved database schema that delivers as much as 70% reduction in disk I/O requirements.

What this means is that when migrating from Exchange 2003 to Exchange 2010 a mailbox database that hosts the exact same mailboxes can easily be 20-50% larger immediately after the migration has occurred. I’ve even heard from some Exchange specialists that they’ve seen up to 5x size increase with some customers. The ongoing growth rate of the database will also be higher for the same reason.

In addition to this the Exchange Server mailbox database has some retention settings that customers can configure to suit their environment.

[PS] C:\>Get-MailboxDatabase MB-HO-02 | fl *retention*

MailboxRetention            : 30.00:00:00
DeletedItemRetention        : 14.00:00:00
EventHistoryRetentionPeriod : 7.00:00:00

Most people are already familiar with the deleted items retention and deleted mailbox retention settings that default to 14 days and 30 days respectively. There is also the event history retention period that adds to the size of the store, although I would not expect this to be a root cause of massive database growth.

Although deleted item retention is set by default to 14 days, this can be as much as 30Gb of data per mailbox if the recoverable items quota is left at its default setting.

[PS] C:\>Get-MailboxDatabase MB-HO-02 | fl recoverable*

RecoverableItemsQuota        : 30 GB (32,212,254,720 bytes)
RecoverableItemsWarningQuota : 20 GB (21,474,836,480 bytes)

Another reason for increased database growth can be the large default mailbox quotas in Exchange Server 2010.

[PS] C:\>Get-MailboxDatabase MB-HO-02 | fl *quota*

ProhibitSendReceiveQuota     : 2.3 GB (2,469,396,480 bytes)
ProhibitSendQuota            : 2 GB (2,147,483,648 bytes)

If these are left at their default value deliberately or because they were overlooked during deployment, and as a result end users are not receiving warnings to delete mailbox items to stay under quota, then their mailboxes will naturally grow larger at a faster rate than before.

Should you be concerned about your Exchange 2010 databases growing too big?

Well considering that previous versions of Exchange Server had recommended maximum database sizes of 100Gb (or 200Gb for Exchange 2007 CCR clusters). However in Exchange Server 2010 this recommendation has increased to 2Tb.

With the significant core improvements made to Exchange 2010, the maximum recommended mailbox database size when using continuous replication has increased from 200 gigabytes (GB) in Exchange 2007 to 2 terabytes in Exchange 2010.

However this is only when database replication (ie a Database Availability Group) has been deployed. For non-replicated mailbox servers you should consider your recovery SLAs and size databases according to how quickly you can recover them from backups in a disaster.

So in summary, some increase in mailbox database size is normal for Exchange Server 2010, and as long as you’re managing database sizes in line with your recovery SLAs then there should be no problem.  However if you are concerned there are a number of database configuration settings that you can look into for reducing the size and growth rate of your mailbox databases.

About Paul Cunningham

Paul is a Microsoft Exchange Server specialist for one of Australia's largest companies, and is the Publisher of ExchangeServerPro.com. He is also an MCP, MCSA, MCSE, MCTS, and an MCITP for Exchange Server 2007/2010. Connect with Paul on Twitter, LinkedIn and Google+.

Comments

  1. KY says:

    Paul,

    I have the same issue after we migrated all our Exchange 2003 mailboxes to Exchange 2010. We have 6 databases and each of them is growing 1-2GB daily. When the white space is large, the size has stopped growing. Here is what I have tried to slow down the database growth rate but it is not working that much at all.

    (1) Set Keep deleted items for (days) to 0;
    (2) Moved all the disconnected mailboxes to a database as dumping ground;
    (3) Set up a 15-day deletion policy again the Deleted Items folder for each mailbox;
    (4) Advised the users to clean up their mailbox.

    In the beginning, about 7-8GB whitespace is reclaimed and the database size stopped increasing. However, when the whitespace is running low, the database size is growing again.

    Is there any other way to help us to slow down the growth? What ‘RecoverableItemsQuota’ really can help us in our scenario? If I set each database to 1GB for the quota, will it help at all?

    Thanks,
    KY

    • There is a lot of tuning that you can do but it all depends on your business needs as far as managing growth vs recoverability. You could also look at allowing larger databases, since Exchange 2010 can handle much larger databases.

  2. Holt Satterfield says:

    I am having the same issue. Suddenly my Exchange volume (on which I keep the *.edb’s) is shrinking rapidly. I foresee in a month or two that I will not have any space remaining on this drive! So, I’ve got to stop this database growth. When I actually run scripts to give me the Mailbox size values, their total size is much less (by half in some instances) than the actual size of the Mailbox Database.

    So, if I restrict the Mailbox Database size, what occurs when the threshold is reached? Besides eating up the White Space, does it eventually stop receiving email? (i’ve already set the Deleted Items retention to 4 days, and Deleted Mailbox retention to 2 days.)

    I need to stop the growth as soon as possible.

  3. Holt Satterfield says:

    And one more item — my 2010 Exchange is not sending out Mailbox Size alerts. Even after applying the RU6, I can’t get Exchange to issue warnings. I’ve set the threshold to the default; I’ve created custom thresholds. Nothing seems to work. I’ve read where the ProhibitSend/Receive needs to be a 50% ratio; but in our biz environment, we don’t want to prohibit send/receive. Just send them annoying messages every 15 minutes.

    So my users are not being pushed to cleanout their mailbox.

    Any thoughts on this specific issue? Thanks.

    Holt

Leave a Comment

*