Exchange 2013 SP1 Install Error : Database is mandatory on Arbitration Mailboxes
I got a simple yet interesting error while installing an Exchange 2013 SP1 on a server. It has been generated while setup was updating arbitration mailbox SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} during Mailbox Role install. It couldn’t find the database for this mailbox and thrown error ”Database is mandatory on UserMailbox”. Here is the detailed error message.
Error: The following error was generated when "$error.Clear(); if ($RoleIsDatacenter -ne $true -and $RoleIsDatacenterDedicated -ne $true) { if (Test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue) { $sysMbx = $null; $name = "SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}"; $dispName = "Microsoft Exchange"; Write-ExchangeSetupLog -Info ("Retrieving mailboxes with Name=$name."); $mbxs = @(Get-Mailbox -Arbitration -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1 ); if ($mbxs.Length -eq 0) { Write-ExchangeSetupLog -Info ("Retrieving mailbox databases on Server=$RoleFqdnOrName."); $dbs = @(Get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController); if ($dbs.Length -ne 0) { Write-ExchangeSetupLog -Info ("Retrieving users with Name=$name."); $arbUsers = @(Get-User -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1); if ($arbUsers.Length -ne 0) { Write-ExchangeSetupLog -Info ("Enabling mailbox $name."); $sysMbx = Enable-Mailbox -Arbitration -Identity $arbUsers[0] -DisplayName $dispName -database $dbs[0].Identity; } } } else { if ($mbxs[0].DisplayName -ne $dispName ) { Write-ExchangeSetupLog -Info ("Setting DisplayName=$dispName."); Set-Mailbox -Arbitration -Identity $mbxs[0] -DisplayName $dispName -Force; } $sysMbx = $mbxs[0]; } # Set the Organization Capabilities needed for this mailbox if ($sysMbx -ne $null) { # We need 1 GB for uploading large OAB files to the organization mailbox Write-ExchangeSetupLog -Info ("Setting mailbox properties."); set-mailbox -Arbitration -identity $sysMbx -UMGrammar:$true -OABGen:$true -GMGen:$true -ClientExtensions:$true -MailRouting:$true -MessageTracking:$true -PstProvider:$true -MaxSendSize 1GB -Force; } else { Write-ExchangeSetupLog -Info ("Cannot find arbitration mailbox with name=$name."); } } else { Write-ExchangeSetupLog -Info "Skipping creating E15 System Mailbox because of insufficient permission." } } " was run: "Database is mandatory on UserMailbox.".
When I ran the Get-Mailbox cmdlet to see the arbitration mailboxes I got the same warning.
Solution:
It was simple to deal with this. I just re-homed the arbitration mailbox which didn’t have database attribute stamped using Set-Mailbox cmdlet with –Database parameter.
Set-Mailbox “SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}” -Arbitration -Database “YourDatabaseNameHere”
After this Exchange 2013 SP1 installation was successful!
Have a good one until next time!
if your instalation fails, how do you use that command?
Carlos
December 15, 2014 at 1:25 am
From another Exchange server and if you have only one Exchange server then you could update the homemdb attribute of this system mailbox via ADSIEdit.msc
Amit Tank
February 9, 2015 at 10:41 am
This solution worked me correctly.
I first consulted databases that had created.
[PS] C: \ Windows \ system32> Get-MailboxDatabase
Name Server Recovery ReplicationType
—- —— ——– —————
Mailbox Database XXXXXX EXxxxG01 False None
and then ran the command with this database.
Set-Mailbox “Migration.8f3e7716-2011-43e4-96b1-aba62d229136” -Arbitration -Database “Mailbox Database XXXXXX”
Juan Naranjo
December 30, 2014 at 3:56 pm