We will take a look at a common error we encounter while trying to delete an Exchange database.
——————————————————–
Microsoft Exchange Error
——————————————————–
The mailbox database ‘DB1’ cannot be deleted.
DB1
Failed
Error:
This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, or arbitration 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 arbitration mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Arbitration. 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. 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>.
This is because the exchange setup process setup /p or /prepareAD creates these accounts.
First run the cmdlet to see that you have the Arbitration mailboxes alive
Set-AdServerSettings -ViewEntireForest $True
This is because Arbitration mailboxes are created on the root domain by default.
Now run:
Get-Mailbox -Arbitration | Ft Name, Database
Now if you need to remove it and have another database available to home these, run the cmdlet:
Get-Mailbox -Arbitration | Set-Mailbox -Arbitration -Database “Name of the new Database”
If you want to Move Arbitration to a new mailbox store and the old store is mounted and well,
Get-Mailbox -Arbitration -Database “CurrentDatabase” | New-MoveRequest -TargetDatabase “NewDatabaseName”
Lets say the database contains mailboxes other than Arbitration and you want to move all of them to a new mailbox store and the old store is mounted and well,
Get-Mailbox -Database “CurrentDatabase” | New-MoveRequest -TargetDatabase “NewDatabaseName”
If you want to Disable Arbitration mailboxes run:
Get-Mailbox -Arbitration -Database “CurrentDatabase” | Disable-Mailbox -Arbitration
If you want to remove Arbitration mailboxes run:
Get-Mailbox -Arbitration -Database “CurrentDatabase” | Remove-Mailbox -Arbitration –RemoveLastArbitrationMailboxAllowed
Now for some reason these Arbitration mailboxes went missing, then find the version of your exchange server using the cmdlet, then download the appropriate service pack and run setup /p
GCM exsetup |%{$_.Fileversioninfo}
You may also replace the homeMDB value of the Arbitration mailbox with the DN of a mailbox database too.
#########Update#########
To move Arbitration mailboxes from Exchange 2010 to Exchange 2013:
Get-MailboxDatabase -IncludePreExchange2013 | FL Name,Server,AdminDisplayVersion
Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase <NewDatabaseinExchange2013>