Unable to Delete Mailbox Database

Recently, while decommissioning an Exchange 2013 server after a migrating from Exchange 2007 to Exchange 2013 and then to Exchange 2016, I received a familiar error when attempting to remove the last database from Exchange 2013 (see references at end of article).

This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes, Audit mailboxes. To get a list of all mailboxes in this database, run the command Get-Mailbox -Database <Database ID>. To get a list of all mailbox plans in this database, run the command Get-MailboxPlan. To get a list of archive mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Archive. To get a list of all public folder mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -PublicFolder. To get a list of all arbitration mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Arbitration. To get a list of all Audit mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -AuditLog. To disable a non-arbitration mailbox so that you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID>. To disable an archive mailbox so you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID> -Archive. To disable a public folder mailbox so that you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID> -PublicFolder. To disable a Audit mailbox so that you can delete the mailbox database, run the command Get-Mailbox -AuditLog | Disable-Mailbox. Arbitration mailboxes should be moved to another server; to do this, run the command New-MoveRequest <parameters>. If this is the last server in the organization, run the command Disable-Mailbox <Mailbox ID> -Arbitration -DisableLastArbitrationMailboxAllowed to disable the arbitration mailbox. Mailbox plans should be moved to another server; to do this, run the command Set-MailboxPlan <MailboxPlan ID> -Database <Database ID>.

 

What is odd (and the reason for this post) is that all of the mailboxes–user, shared, resource, arbitration “system”, health and public folder mailboxes, etc.–had been moved to a database on the Exchange 2016 server. The 2013 server also didn’t have any undeleted export or move requests, or disconnected mailboxes either. So what could it be?

In times when it is necessary to find a needle in the AD haystack, I prefer to employ CSVDE (with the following command) to export all Active Directory data present to a CSV file.

csvde.exe -m -f csvde-allobjects.csv

 

There was only one database in Exchange 2013, and fortunately it’s named was unique to the environment. From the newly minted CSV file, I used the “homeMDB” column in an attempt to identify any AD object assigned to the Exchange 2013 database. I was able to find two AD objects in which their “homeMDB” was the Exchange 2013 database.

  • SystemMailbox{2ec245d2-e667-4b24-a042-18b5b02374fc}
  • SystemMailbox{8cc370d3-822a-4ab8-a926-bb94bd0641a9}

 

But as it turns out, neither of these specific “system” mailboxes showed in Exchange and, strangely enough, only one of them was present in ADUC (in bold). There was only one thing that I felt could be done–delete the AD object.

After deleting the “offending” AD object, the uninstall of Exchange 2013 was able to proceed without further issue.

Good luck!

 

Reference(s):

Leave a comment