This mailbox database contains one or more mailboxes…


Let’s say you are in process of removing the last copy of a mailbox database or uninstalling an Exchange server and run into the following error message:

“This mailbox database contains one or more mailboxes…”

You check again and again but can’t find a mailbox on the server being uninstalled or the database you are deleting, but the error continues haunting you!!

Sounds familiar? Ran into this before? Read on!

Let’s take the example of DB2, a database present on an Exchange Server 2013 that I am trying to remove and am getting the error:

image

As suggested by the error message, I verified for the presence of all sorts of possible mailboxes one can create, namely normal user mailboxes, arbitration mailboxes, public folder mailboxes and archive mailboxes.

Checking for regular mailboxes reveals nothing:

image

Checking for Archive mailboxes reveals nothing:

image

Checking for public folder mailboxes reveals, you guessed it, nothing:

image

Finally, checking for Arbitration mailboxes gives similar results:

image

Still, the removing mailbox database continues failing with same error. What to do? Do I need a flamethrower?

If you are using Exchange 2013, you can use the Remove-MailboxDatabase as it indicates the DN of the user that still has mailbox on the database, but only when -Verbose parameter is specified. Like so:

image

If you do not have Exchange Server 2013, don’t despair…

Another possibility is that the database you’re trying to remove is an Archive Database for a mailbox residing on a different mailbox database.

The following command helps you list mailboxes using a specific database as Archive Database:

Get-Mailbox | where {$_.ArchiveDatabase -eq "<databaseName>"}

Here’s the output from my example:

image

Aha! Mystery solved! So, I just moved the archive mailbox to another database:

image

…And the database could now be removed after the move was complete.

We realize that the experience here is not ideal and the relevant team is aware. In the meantime, hope this helps some of you.

Bhalchandra Atre


Comments (12)
  1. Anonymous says:

    Excellent! It is good to have official recognition that the error message generated when you attempt to delete a mailbox database that has some lingering objects is misleading (as per http://windowsitpro.com/blog/exchanges-most-annoying-and-confusing-error-message on February 18). Hopefully the problem will be addressed (how difficult can it be to generate the right error text?) in the next cumulative update for Exchange 2013? Now that “the relevant team is aware”, that is…

  2. Anonymous says:

    Was this something new if i remember one of my customer had fallen into this similar issue longtime back & I had followed the same but again as mentioned it will help some of them who aren’t aware :)

  3. Anonymous says:

    Good post. The attribute homemdbbl on the Database object should also show you the list of users DNs who have mailboxes in that DB. Although it’s not a friendly method at all.

  4. Anonymous says:

    This mailbox database contains one or more mailboxes…

  5. Anonymous says:

    Great stuff. Had to deal with something very similar today when decommissioning an Exchange 2003 server. Definitely appreciate a more friendly approach than having to breakout ldp.exe.

  6. Anonymous says:

    Hey, that’s my issue we discussed last month :-)
    Thanks for addressing this!

  7. Tony Redmond says:

    Hi Bhalchandra, it’s nice of you to acknowledge that the error message issued when you attempt to delete a mailbox database (and something is still there) is both misleading and confusing (see http://windowsitpro.com/blog/exchanges-most-annoying-and-confusing-error-message). Now that Microsoft has acknowledged the issue, perhaps you’ll go and fix it in the next cumulative update for Exchange 2013?

  8. Great says:

    Thanks

  9. Andrei G. says:

    Good post. I believe the attribute homemdbbl on the Database object in AD should show the list of users DN who have mailboxes in that DB.

  10. RobertK says:

    So what then does this command do get-mailbox -archive -database DB2? would this not bring the same archive mailbox for the mod user?

  11. Gizzle says:

    If you have Exchange installed in a child domain you may need these to see the arbitration mailboxes

    Set-AdServerSettings -ViewEntireForest $True
    Get-Mailbox -Arbitration | ft Name, Database

  12. Shay says:

    Why ‘Get-Mailbox -Archive -Database bd2’ fails to report the mailbox in question?

Comments are closed.