Exchange 2013 Database Removal Error: “This mailbox database contains one or more mailboxes”

When attempting to remove a database from an Exchange Server 2013 mailbox server you may encounter the following error.

Error attempting to remove an Exchange Server 2013 database

This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes.

This error can occur even on a brand new mailbox database that you have not migrated any mailboxes to or created new mailboxes on.

The error message contains details that describe both the root cause (mailboxes that still exist on the database) and the solution (removing the mailboxes). Let’s take a look at each of the mailbox types and the required actions to move or remove them.

Mailbox Users

Normal mailbox users can be moved to another database. To move the mailboxes issue a New-MoveRequest command and wait for the moves to complete.

For example, to move the mailboxes from “Mailbox Database 2″ to “Mailbox Database 1″ the following command is used.

[PS] C:\>Get-Mailbox -Database "Mailbox Database 2" | New-MoveRequest -TargetDatabase "Mailbox Database 1"

Archive Mailboxes

The cmdlet provided in the error message does not actually help you identify archive mailboxes located on the database in question. For example if I am trying to remove “Mailbox Database 2″, the error message tells me:

To get a list of archive mailboxes in this database, run the command Get-Mailbox -Database DatabaseID -Archive.

However, running that command shows me no results.

[PS] C:\>Get-Mailbox -Database "Mailbox Database 2" -Archive

Instead I can run this command to identify mailboxes with the ArchiveDatabase attribute matching the database that I’m trying to remove.

[PS] C:\>Get-Mailbox | Where ArchiveDatabase -eq "Mailbox Database 2"

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Ana.Williams              Ana.Williams         e15mb1           Unlimited
Dawn.Evans                Dawn.Evans           e15mb1           Unlimited
Chris Brown               chris.brown          e15mb1           Unlimited

To move those archive mailboxes I can issue the New-MoveRequest cmdlet again.

[PS] C:\>Get-Mailbox | Where ArchiveDatabase -eq "Mailbox Database 2 | New-MoveRequest -ArchiveOnly -ArchiveTargetDatabase "Mailbox Database 1"

Arbitration Mailboxes

Arbitration mailboxes serve a variety of purposes in Exchange Server 2013, but the important thing at the moment is that they will prevent removal of the database on which they reside.

To view the arbitration mailboxes for a database append the -Arbitration switch to the Get-Mailbox command.

[PS] C:\>Get-Mailbox -Database "Mailbox Database 2" -Arbitration

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
SystemMailbox{1f05a927... SystemMailbox{1f0... e15mb2           Unlimited
SystemMailbox{bb558c35... SystemMailbox{bb5... e15mb2           Unlimited
SystemMailbox{e0dc1c29... SystemMailbox{e0d... e15mb2           Unlimited
Migration.8f3e7716-201... Migration.8f3e771... e15mb2           300 MB (314,572,800 bytes)
FederatedEmail.4c1f4d8... FederatedEmail.4c... e15mb2           1 MB (1,048,576 bytes)

Arbitration mailboxes can be moved to another database like any other mailbox move request.

[PS] C:\>Get-Mailbox -Database "Mailbox Database 2" -Arbitration | New-MoveRequest -TargetDatabase "Mailbox Database 1"

Public Folder Mailboxes

In Exchange Server 2013 public folder data is stored in special “public folder mailboxes” that can reside within the same databases as regular mailboxes. To check a database for public folder mailboxes run the following command.

[PS] C:\>get-mailbox -Database "Mailbox Database 2" -PublicFolder

Name                      Alias                ServerName       ProhibitSendQuota
----                      -----                ----------       -----------------
Public Folder Test        PublicFolderTest     e15mb2           Unlimited

Public folder mailboxes can be moved the same as other mailboxes.

[PS] C:\>Get-Mailbox -Database "Mailbox Database 2" -PublicFolder | New-MoveRequest -TargetDatabase "Mailbox Database 1"

Mailbox Plans

Mailbox plans are not relevant for on-premise installations of Exchange Server 2013 so you can disregard these.

Completing the Removal of an Exchange 2013 Database

When all of the above mailbox types have been removed from a database you can proceed with the removal of the database itself.

In the Exchange Admin Center navigate to Servers -> Databases, highlight the database you wish to remove and then click on the trash icon.

If you were successful in identifying and removing all of the mailboxes from the database then the database removal should complete successfully.

About Paul Cunningham

Paul is a Microsoft Exchange Server MVP and publisher of Exchange Server Pro. He also holds several Microsoft certifications including for Exchange Server 2007, 2010 and 2013. Connect with Paul on Twitter and Google+.

Comments

  1. Vivek Sharma says:

    I had faced this on Exchange 2010 as well while trying to delete the default mailbox databases created when you install the MBX role. Had to move all the obstructing mailboxes through EMS before it would allow a delete.

  2. Great Article! Thanks for write it :-)

  3. kamal@sandarusi.com says:

    GAH!
    I need to read more and be less impulsive.
    So after 2010SP3 came out I though I was free and clear to install 2013 in my 2010 environment.

    NOOOO! 2013 doesn’t work right, (but it installed normally!) It worked for a little while. After further reading, I realized I was supposed to wait for 2013CU1. grrrrr.

    SO now I want to remove it, but I get the arbitration mailbox problem. Trouble is, they won’t move to the 2010 database, so I am stuck.

    Q: Would it be safe to disable the arbitration mailboxes in the 2013 installation, so I can remove it?
    or
    Q: should I just wait until CU1 comes out, and try to upgrade the 2013 to 2013cu1?

    Thanks.

  4. Joerg Richter says:

    Hi Paul,

    good job!!

    It just stopped unexpected for me, cause it seems not possible to delete the datafiles from your removed mailbox, I always get “file is open in another program”. And if you managed to identify and stop these other “programs” (exchange search host controller) you can delete those file, but after restart of stopped services they all come back by magic.

    Do you run into the same “feature”

    Thanks!

  5. I followed this guide and moved all user and arbitration mailboxes I could find to another database and then deleted the database. Deleting the database was successfull, I suppose, as it disappeared from the EAC UI, but I got an error at the same time as it told me to manually delete the database file: “Failed to remove monitoring mailbox object of database “Default database”. Exception: Active Directory operation failed on dc.contoso.local. This error is not retriable. Additional information: Access is denied. Active directory

    response: 00000005: SecErr: DSID-031520B2, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0 .”

    If I run”Get-Mailbox -Monitoring” now it shows three warnings like the below:

    “WARNING: The object contoso.local/Microsoft Exchange System Objects/Monitoring Mailboxes/HealthMailboxb6d12aac1ab742e9a638474d740c70d7 has been corrupted, and it’s in an inconsistent state. The following validation errors happened:
    WARNING: Database is mandatory on UserMailbox.
    WARNING: Database is mandatory on UserMailbox.”

    Any clue to why that is occuring, and is it safe to just remove those three mailboxes by force?

  6. Problem: I have PF on server 1, 3 and 4, PF’s are in use on 3 and 4 but I had replication from 3 going to 1 until the other day when the DB had an issue, I tried to remove it from the console in EX2010 but it said it couldn’t, I tired to removed it manually and the logs as well but it never would let me remove it in Exchange2010, now I’m stuck with a PF that doesn’t work on Sever 1 and it won’t let me remove it nor build a new until that one is gone, the DB is now corrupt and seems to be the same issue for the logs. Is there a way to force the old PF off of server one and try a new replication on a new PF? BTW the PF Database I’m trying to remove shows that it is dismounted in the console and also will not let me mount it either.

  7. Another nice one is discovery mailbox. If you try to remove default db it wont let you because there is hidden (from Ick at least) Discovery mailbox. The only way I figured to deal with it is to use move all mailboxes option in pms.

  8. HI, My mailbox database is corrupt and wount mount…therefore cant move the arbitration mailboxes to new DB, it gives DB is not mounted.. as the DB is corrupt its not mounting… exchange 2010 SP3

    How to move or recreate the Arbitration mailboxes to new DB, I have already moved all my mailboxes.. but can remove the old datastore.. any pointers…
    thanks for the help…

  9. Hi Paul,

    Sorry for posting here, however I could not find your exchange 2010 article to delete a mailbox database.

    I have a database in exchange 2010 which I am unable to delete. It has no user mailboxes and the arbitration mailboxes have been moved to a different DB, yet I am unable to remove the DB. I have checked for soft deleted and archive mailboxes and these do not exist in the DB either.

    Is there anything I am missing? I am hoping you can shed some light on this?

    Thanks in advance for your help

Leave a Comment

*

We are an Authorized DigiCert™ SSL Partner.