Exchange 2010: mailboxes+whitespace=database file size?

We have stand-alone Exchange 2010 Version: 14.00.0682.001 on Server 2008 R2 standard, physical machine.

About a week ago, I had to migrate all mailboxes from a previous database on this same machine to a new database because of corruption in one user's outbox that caused the .edb of the previous database to grow out of control (.edb was 463 GB with mailboxes totaling less than 50 GB). I moved each mailbox, choosing not to move corrupted items. Now, only the new database exists.

I've been monitoring the size of the .ebd file each day and comparing it to TotalItemsize + TotalDeletedItemSize + AvailableNewMailboxSpace(whitespace) and noticed the sum of these is not equal to the size of the .edb file. Is that the correct way to determine what the .edb file size should be, or am I missing something? The .edb file has been growing about 300 MB per day for the past few days, so I wonder if the database migration even solved the original problem.

Here's how I'm coming up with the numbers:

Get-MailboxStatistics -Server “mail02” | Sort -Property TotalItemsize | select DisplayName, LastLoggedOnUserAccount, ItemCount, TotalItemSize, TotalDeletedItemSize, LastLogonTime, LastLogoffTime  | Export-CSV c:\mailboxsizes.csv

Get-MailboxDatabase -Status | Select Servername, Name, AvailableNewMailboxSpace

In CSV, sum of TotalItemsize bytes of all mailboxes = 35,590,476,231 bytes
In CSV, sum of TotalDeletedItemSize bytes of all mailboxes = 15,704,138,000 bytes
AvailableNewMailboxSpace = 234,800,000 bytes
35,590,476,231 + 15,704,138,000 + 234,800,000 = 51,529,414,231 bytes
.edb file size=55,709,335,552 bytes. What accounts for the difference?

I have default settings for database maintenance (run daily from 1AM to 5AM, background maintenance enabled, circular logging enabled). I run nightly full backups using Backup Exec 2010.
Who is Participating?
NenadicConnect With a Mentor Commented:
Microsoft's mailbox server storage calculator suggests 20% overhead for database space, so your 7% is actually pretty good. You genuinely needn't worry about this.
Run this POSH Script and get a health check + whitespace
The extra space is due to other information required for normal operation of the database. This is information that is necessary for data to be written and read as quickly as possible. It includes schema and tables necessary to navigate through the database structure of records.
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.

DBrown23Author Commented:
DBrown23Author Commented:
sunnyc7, I attached the output of the script, although it looks like sine I don't have a DAG it didn't provide storage details.

Nenadic, do you know of any documentation that describes details on normal sizes of that "other information"? In my examples, that accounts for about 7% of the total database file size. Here are the updated sizes from this morning:
TotalItemsize bytes of all mailboxes = 35,997,874,371 bytes
TotalDeletedItemSize bytes of all mailboxes = 15,599,797,609 bytes
AvailableNewMailboxSpace = 676,855,808 bytes
.edb file size = 56,246,206,464 bytes
I wasnt looking for dag in the results. i was looking for information related to online maintenance and if online maint is running according to schedule.

Can you run this from exchange/bin directory

eseutil /ms <edb file name.db>

you can check this article to give you an idea on EDB size.
DBrown23Author Commented:
I'm not sure how to confirm online maintenance is running properly, but the whitespace has been increasing in my examples.

I won't be able to dismount the database any time soon,  so can't use eseutil.
get-mailboxdatabase | fl *maint*
DBrown23Author Commented:
[PS] C:\Windows\system32>get-mailboxdatabase | fl *maint*

BackgroundDatabaseMaintenance : True
MaintenanceSchedule: {Sun.1:00 AM-Sun.5:00 AM, Mon.1:00 AM-Mon.5:00 AM, Tue.1:00 AM-Tue.5:00 AM, Wed.1:00 AM-Wed.5:00 AM, Thu.1:00 AM-Thu.5:00 AM, Fri.1:00 AM-Fri.5:00 AM, Sat.1:00 AM-Sat.5:00 AM}
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.

All Courses

From novice to tech pro — start learning today.