locked
Exchange 2010 mailbox database has filled up the hard drive, is this the correct process to repair this? RRS feed

  • Question

  • Hi team, I think I have the procedure correct for gathering back some whitespace and then free space if required, but would love another pair of eyes as there are a lot of different methods on the web.

    So the issue is that for a while we have had whitespace in one of our databases, the database used almost all of the hard drive space but as there was whitespace it was ok. Now one of the mailboxes has quickly grown in size and there is no whitespace and no hard drive space (only 1.5gb so still mounted).

    Plan is to move mailboxes to new datastore and reclaim whitespace if possibly.

    Reading the docs a round the internet it seems the process should be

    • Move mailboxes to new or different database
    • Set "keep deleted Mailboxes" to 0 days (was 30)
    • Let database maintenance run (should do this online 24/7 on exchange 2010)

    At this stage I would have expected to see whitespace in the database but I don't ??

    • Next to reclaim that whitespace I can run

    Clean-MailBoxDatabase <name of the database> from powershell, this process can be run live and wont effect users using the database.

    Is this correct as I thought the database had to be offline to reclaim whitespace?


    • Edited by Johnward Wednesday, November 14, 2012 3:27 PM
    Wednesday, November 14, 2012 3:25 PM

Answers

  • You can run the command:

    Get-MailboxDatabase DatabaseName -Status | Fl Name,AvailableNewMailboxSpace

    - Above command will tell you about the freespace on the database.

    - Exchange database will not be reduced after online maintenance. it will just reclaim the space and the whitespace detected by the exchange server while the online maintenance will be used when new emails sent/received.

    - at this point you have to figure out what is the freespace available and what is total size that is consumed by the mailboxes.

    - if you see lot whitespace after running the above command then you may:

    1. Create a New DB

    2. Move the mailboxes, along with the discovery search & arbitration mailboxes:

    Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase NewDatabaseName

    3. Remove the original store

    (or) IF you can afford downtime you may go with offline defrag which is eseutil /d but this requires downtime depending upon the size of your mailbox database.

    Also do you have Symantec Enterprise vault installed? if so refer to the article and see if your issue meets the symptoms specified:

    http://support.microsoft.com/kb/2621266

    IF your symptoms are meeting the above link then you have to go with Exchange 2010 SP2 RU1(which has the fix). but i would suggest you to go with Exchange 2010 SP2 RU 4-v2


    M.P.K ~ ( Exchange | 2003/2007/2010/E15(2013)) ~~ Please remember to click “Vote As Helpful" if it really helps and "Mark as Answer” if it answers your question, “Unmark as Answer” if a marked post does not actually answer your question. ~~ This Information is provided is "AS IS" and confers NO Rights!!

    Wednesday, November 14, 2012 7:42 PM

All replies

  • You can run the command:

    Get-MailboxDatabase DatabaseName -Status | Fl Name,AvailableNewMailboxSpace

    - Above command will tell you about the freespace on the database.

    - Exchange database will not be reduced after online maintenance. it will just reclaim the space and the whitespace detected by the exchange server while the online maintenance will be used when new emails sent/received.

    - at this point you have to figure out what is the freespace available and what is total size that is consumed by the mailboxes.

    - if you see lot whitespace after running the above command then you may:

    1. Create a New DB

    2. Move the mailboxes, along with the discovery search & arbitration mailboxes:

    Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase NewDatabaseName

    3. Remove the original store

    (or) IF you can afford downtime you may go with offline defrag which is eseutil /d but this requires downtime depending upon the size of your mailbox database.

    Also do you have Symantec Enterprise vault installed? if so refer to the article and see if your issue meets the symptoms specified:

    http://support.microsoft.com/kb/2621266

    IF your symptoms are meeting the above link then you have to go with Exchange 2010 SP2 RU1(which has the fix). but i would suggest you to go with Exchange 2010 SP2 RU 4-v2


    M.P.K ~ ( Exchange | 2003/2007/2010/E15(2013)) ~~ Please remember to click “Vote As Helpful" if it really helps and "Mark as Answer” if it answers your question, “Unmark as Answer” if a marked post does not actually answer your question. ~~ This Information is provided is "AS IS" and confers NO Rights!!

    Wednesday, November 14, 2012 7:42 PM
  • Hi 

    if you want to remove all items in Recoverable Items you can use search-mailbox, then you will get quickly whitespace if you have a lot of Recoverable Items in mailboxes

    Check this link:

    Exchange 2010 Database size growing problem

    for mailbox database you can use search-mailbox like below, it will find all mailboxes in MXDB01 database with Recoverable Items size grater than 100MB and remove Recoverable Items older than dates, you have to change this date to your regional settings or you can remove them if you want to delete all recoverable items:

    $mbxs = Get-Mailboxstatistics -Database MXDB01 | select displayname, @{expression = {$_.TotalDeletedItemSize.Value.ToMB()}; label="TotalDeletedItemSize"} | where {$_.TotalDeletedItemSize -gt 100}
    
    foreach ($mbx in $mbxs){
     Search-Mailbox -Identity $mbx.DisplayName -searchQuery "Received:< $('2012-10-03') or Sent:< $('2012-10-03')" -SearchDumpsterOnly -DeleteContent -Force:$TRUE
    }

     


    Remigiusz
    ExchangeBlog


    • Edited by Remigiusz_Sz Wednesday, November 14, 2012 8:01 PM
    Wednesday, November 14, 2012 8:00 PM