Exchange 2013 - Setup Error: Database is mandatory on UserMailbox
You may get an error while Exchange setup updates an arbitration mailbox SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} (or other arbitration nailbox). This error would come up at Mailbox Role upgrade step when you install Cumulative Update. Here is the detailed error message.
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.".
Additional Information:
When you run Get-Mailbox with -Arbitration parameter you would get similar warning message and database attribute value would be missing.
https://exchangeshare.files.wordpress.com/2014/05/image_thumb.png?w=600&h=146
Solution:
It's simple to deal with this. Just re-homed the arbitration mailbox which does not have database attribute stamped using Set-Mailbox cmdlet with –Database parameter.
Set-Mailbox “SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}” -Arbitration -Database “YourDatabaseNameHere”
https://exchangeshare.files.wordpress.com/2014/05/image_thumb1.png?w=600&h=163
Once database is set for this arbritation mailbox, Exchange 2013 Cumulative Update installation goes fine!
Derived from: http://exchangeshare.wordpress.com/2014/05/16/exchange-2013-sp1-install-error-database-is-mandatory-on-arbitration-mailboxes/