Unable to delete Exchange database – This mailbox database contains one or more mailboxes
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>
Ratish Nair
MVP Exchange
Team @MSExchangeGuru
May 31st, 2013 at 3:42 pm
Great Article! Worked perfectly to get rid of a stubborn Mailbox DB.
Thank you!!!
Cheers!
June 29th, 2013 at 2:41 pm
Great article..Thanks for sharing…..
August 13th, 2013 at 9:19 am
Also battled with a DB that would not be removed, this fixed it!
November 15th, 2013 at 1:41 pm
Great Articel ! it saves my day. thx
January 18th, 2014 at 5:11 am
Thank You.
You Saved my time.
February 6th, 2014 at 12:44 pm
Thankk you so much, this article saved me
September 7th, 2014 at 7:34 pm
Hi
I have this error and have been through these steps but each query is coming up empty.
I cannot find any mailbox and am not sure where to go from here. Any further advise greatly appreciated.
Thanks for your help
Regards
Steve.
September 10th, 2014 at 1:40 am
@Steve
Extract the AD attributes for all users with homemdb and msexchhomeservername
homemdb will tell you the database name and msexchhomeservername will tell you on which server they belong to.
If you don’t need these user with on this database or server then blank the attribute. Make sure you backup AD systemstate before doing any change in AD attributes
November 20th, 2014 at 1:02 pm
[…] Unable to delete Exchange database – This mailbox database contains one or more mailboxes: https://msexchangeguru.com/2013/04/18/arbitration-mailboxes/ […]
February 2nd, 2015 at 2:48 pm
What command would I use if the Database was deleted that had the Arbitration mailboxes and I run “Get-Mailbox -Arbitration | Ft Name, Database” and it still thinks its in the old database even though it does not exist. Plus the files *.edb and logs have been removed, but I still have the AD accounts. Can I still run the command that you listed even though you mention that the old store has to be mounted? Or is there another command I should be using?
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,
February 7th, 2015 at 5:29 pm
If the database was deleted then you can’t move. Did you delete the database from ADSIEDIT and who recommended this?
Here is the solution.
1. You need to disable these mailboxes.
Get-mailbox -Arbitration -Identity “mailbox name” | Disable-Mailbox –Arbitration –Confirm:$False
2. Now enable the mailbox
Enable-mailbox -Arbitration -Identity “mailbox name”
February 10th, 2015 at 5:26 pm
The mailbox that it thinks its in no longer exists. I can try to disable but if that even works and I enable the arbitration mailbox where will it be created?
April 21st, 2015 at 11:46 pm
this is the information I was looking for to remove the LAST mailbox from Ex2010 on prem. TechNet has all the data… somewhere, but it’s buried in clicks. thanks for putting it on a single screen. What TechNet doesn’t share is that some of the | methods are what you must do. Doing the commands straight fail everytime, but letting the get-mailbox collect the data and | to disable then the | to remove, all good.
October 20th, 2015 at 9:48 am
That was the best article to remove 2010 from a server. My Scenario was 2007 existing server migrating to 2010. I then decided to scratch that and redo the server for 2012 R2 and Exchange 2013. So that quickly fixed the removal process of Exchange 2010. Thanks!
October 26th, 2015 at 7:07 am
Very tks!
May 12th, 2016 at 11:52 pm
Our situation is the edb is corrupt and no repair scenario will work. I am able to extract the mailboxes to psts in order to load them into a new database however I can’t find a way to delete the old as exchange still sees it having mailboxes etc.
We’ve been down two days all backups are also corrupt and we have no way to recover except start fresh and load from PST somewhat like a migration.
Please help!!
May 12th, 2016 at 11:53 pm
Also I don’t think I said that the edb will not mount no matter how we try, my best thought is to start clean and reload from pst.
June 13th, 2016 at 4:17 am
Hi Charles,
Sorry to hear about your issue. When you are stuck in a disaster then you need professional service which you can get through writing an email to team@MSExchangeGuru.com or info@GoldenFive.net
We can’t guarantee to help you by commenting on a post but through email yes.