Smart sizing for Exchange Server 2010 mailbox databases

There is no single size that fits the needs of all Exchange Server 2010 mailbox databases. But there are several aspects to consider when determining what’s best for your company.

It seems everyone has a different opinion when it comes to the optimal size for an Exchange 2010 mailbox database. Exchange database sizing is actually unique to each organization. Consequently, there are several aspects to consider when determining what is appropriate for your company’s needs.

Exchange 2010 mailbox database sizing: What’s your recovery time objective?
When determining what the maximum size for your mailbox databases should be, the first thing to think about is your recovery time objective. In other words, in the event of a failure, what is the maximum amount of time you can allow for a restoration? Remember, larger databases take longer to restore.

Some companies prefer to create several smaller databases as opposed to one large one. If a problem occurs that requires a database restoration, the organization might be able to get away with restoring a single database rather than all of the databases. Of course this depends largely on the nature of the failure.

Exchange 2010 mailbox database sizing: Cost considerations
Exchange Server 2010 can take advantage of low-cost storage. Even so, there’s no denying that storage cost remains an issue for most companies.

Storage space comes at a premium, so don’t waste higher-performance storage on old messaging data. Instead, use message quotas to keep mailbox databases small. Assuming that you have Exchange Server 2010 Service Pack 1 or higher installed, you can move older data to archive mailboxes on cheaper, yet higher-capacity storage.

If you do decide to move some messages to archive mailboxes, remember that moving messages alone does not impact database size. Exchange 2010 does not automatically shrink mailbox databases when you remove data. To shrink the databases, you must dismount them and perform an offline defragmentation.

Exchange 2010 mailbox database sizing: How much memory are you using?
How much memory is installed on your mailbox server? Microsoft recommends a minimum of four GB of memory for a dedicated mailbox server and eight GB for mailbox servers that also have the hub transport and/or the client access server roles installed.

While there is no direct correlation between the amount of memory installed on a mailbox server and the maximum database size, you must take into account the number of mailboxes on the server. Microsoft recommends adding between three and 30 megabytes of extra memory for each mailbox; though the actual amount depends on the user profile and database cache size.

Ultimately the amount of RAM that your server can physically accommodate (or the amount that is allocated to a virtual server) impacts the number of mailboxes the server can host. Thus, you might need to move some mailboxes to a separate mailbox server not because the database grew too large, but because it contains too many mailboxes.

Exchange 2010 mailbox database sizing: Changing the default size limit
Although Exchange 2010 Enterprise Edition doesn’t enforce a maximum database size, Standard Edition does have a maximum size limit of one TB (1024 GB). If a database reaches this limit, Exchange dismounts it.

Ask the Expert

What to do when Exchange 2010 database refuses to mount

If you decide that large databases are the right move for your organization, you can get rid of the one TB limit in Exchange 2010 Standard Edition. Doing so involves modifying your mailbox server’s registry. Remember, making an incorrect registry modification can destroy Windows and/or Exchange, so make sure to create a full backup of your mailbox server before attempting this.

Open the Registry Editor and navigate to HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> MSExchangeIS -> <your mailbox server name> -> Private-<database GUID>. Then, look for a sub key named Database Size Limit in GB.

If the key exists, you can modify its value to reflect your desired size limit for the database. If it doesn’t, you need to create it and assign a DWORD value that reflects your desired maximum database size. You must perform this procedure separately for each database.

As you can see, there are several factors to look at   when determining the best mailbox database size for your organization. But at the end of the day, the most important consideration is the company’s end user requirements.

It’s your job to make sure that Exchange addresses your company’s needs. If end users have a legitimate business need for retaining large amounts of mail, it usually trumps these sizing considerations.

Brien Posey is an eight-time Microsoft MVP with two decades of IT experience. Before becoming a freelance technical writer, Brien worked as a CIO at a national chain of hospitals and health care facilities. He has also served as a network administrator for some of the nation’s largest insurance companies and for the Department of Defense at Fort Knox.

Dig Deeper on Exchange Server setup and troubleshooting