Exchange Server Share

… Information sharing on Exchange Server …

Exchange 2013 SP1 Install Error : Database is mandatory on Arbitration Mailboxes

avatarI 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.

image

 

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”

image

After this Exchange 2013 SP1 installation was successful!

Have a good one until next time!

Advertisement

Written by Amit Tank

May 16, 2014 at 5:00 pm

3 Responses

Subscribe to comments with RSS.

  1. 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

  2. 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


Comments are closed.

%d bloggers like this: