Exchange Install Error Database is mandatory on UserMailbox

The other day I was trying to update the first Exchange 2013 server in this particular test environment to CU13 when I got the following error when installing the Mailbox role:

 

 

The error itself contained the code Exchange tried to run, so it wasn’t clear what the exact problem was. An event in the Application event log mentioned the exact same thing:

 

Log Name:      Application
Source:        MSExchangeSetup
Date:          8/7/2016 2:34:52 PM
Event ID:      1002
Task Category: Microsoft Exchange Setup
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      EX...
Description:   Exchange Server component Mailbox role: Mailbox service failed.
Error: Error:  The following error was generated when $error.Clear();
(...)

 

 

Time do dig deeper and look at the ExchangeSetup.log file! In here, I got some more information about what the problem was: Exchange was failing while trying to do something to the arbitration mailbox SystemMailbox{bb55…} (the one used in the Offline Address Book generation process):

[08/07/2016 10:34:51.0582] [2] Processing object "domain/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}".
[08/07/2016 10:34:51.0582] [2] [ERROR] Database is mandatory on UserMailbox.
[08/07/2016 10:34:51.0598] [2] [ERROR] Database is mandatory on UserMailbox.
[08/07/2016 10:34:51.0598] [2] [ERROR] Database is mandatory on UserMailbox.
[08/07/2016 10:34:51.0598] [2] Ending processing set-mailbox
(...)
[08/07/2016 10:34:52.0004] [1] The following 2 error(s) occurred during task execution:
[08/07/2016 10:34:52.0004] [1] 0.  ErrorRecord: Database is mandatory on UserMailbox.
[08/07/2016 10:34:52.0004] [1] 0.  ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
(...)
[08/07/2016 10:34:52.0004] [1] [ERROR] Database is mandatory on UserMailbox.
[08/07/2016 10:34:52.0004] [1] 1.  ErrorRecord: Database is mandatory on UserMailbox.
[08/07/2016 10:34:52.0004] [1] 1.  ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox.
(...)
[08/07/2016 10:34:52.0004] [1] [ERROR] Database is mandatory on UserMailbox.
[08/07/2016 10:34:52.0004] [1] [ERROR-REFERENCE] Id=SystemAttendantDependent___1DEE95834DBA48F2BB211C2FB6765A5A Component=EXCHANGE14:\Current\Release\Client Access\Unified Messaging
[08/07/2016 10:34:52.0004] [1] Setup is stopping now because of one or more critical errors.
[08/07/2016 10:34:52.0004] [1] Finished executing component tasks.
[08/07/2016 10:34:52.0036] [1] Ending processing Install-MailboxRole
[08/07/2016 10:36:39.0444] [0] CurrentResult setupbase.maincore:396: 0
[08/07/2016 10:36:39.0444] [0] End of Setup
[08/07/2016 10:36:39.0444] [0] **********************************************

 

 

But what exactly does it mean by “database is mandatory“? Checking all the arbitration mailboxes using the Get-Mailbox cmdlet, I noticed that this mailbox was corrupted, it did not have a database, and I received the exact same error as during the installation:

 Image

 

Looking at its properties in Active Directory, the homeMDB attribute was indeed blank:

 Image

 

 

There are two ways to fix this: either remove this arbitration mailbox using ADSIEdit, re-run the Exchange setup to re-create it and then use the New-Mailbox cmdlet to complete its configuration; or rehome the mailbox by running the following cmdlet:

 Image

 

After this, the homeMDB attribute had the correct value:

 Image

 

And the installation process completed successfully!

 

6 thoughts on “Exchange Install Error Database is mandatory on UserMailbox”

  1. I have a similar issue in a test lab – I deleted the Exchange VM without uninstalling it cleanly, have deleted all the required entries with ADSI Edit now, but still get this error on setup. Unfortunately, that leaves me without a database to point these too as the mailbox installation step fails with this:
    Summary: 11 item(s). 9 succeeded, 1 failed.
    Elapsed time: 00:05:32

    Preparing Setup
    Completed

    Elapsed Time: 00:00:00

    Stopping Services
    Completed

    Elapsed Time: 00:00:01

    [09/14/2018 14:42:14.0671] [2] Processing object “test.somedomainweb.com/Users/DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852}”.
    [09/14/2018 14:42:14.0671] [2] [ERROR] Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0671] [2] [ERROR] Unexpected Error
    [09/14/2018 14:42:14.0671] [2] [ERROR] Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0671] [2] [WARNING] The object test.somedomainweb.com/Users/DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852} has been corrupted, and it’s in an inconsistent state. The following validation errors happened:
    [09/14/2018 14:42:14.0671] [2] [WARNING] Database is mandatory on UserMailbox.
    [09/14/2018 14:42:14.0671] [2] [WARNING] Database is mandatory on UserMailbox.
    [09/14/2018 14:42:14.0671] [2] Ending processing get-mailbox
    [09/14/2018 14:42:14.0671] [2] Ending processing set-mailbox
    [09/14/2018 14:42:14.0671] [2] Active Directory session settings for ‘Get-Mailbox’ are: View Entire Forest: ‘True’, Configuration Domain Controller: ‘TEST.test.somedomainweb.com’, Preferred Global Catalog: ‘TEST.test.somedomainweb.com’, Preferred Domain Controllers: ‘{ TEST.test.somedomainweb.com }’
    [09/14/2018 14:42:14.0671] [2] Beginning processing get-mailbox -Filter:’name -eq $name’ -IgnoreDefaultScope:’True’ -ResultSize:’1′
    [09/14/2018 14:42:14.0671] [2] Searching objects of type “ADUser” with filter “(&((|((RecipientTypeDetails Equal RoomMailbox)(RecipientTypeDetails Equal EquipmentMailbox)(RecipientTypeDetails Equal LegacyMailbox)(RecipientTypeDetails Equal LinkedMailbox)(RecipientTypeDetails Equal UserMailbox)(RecipientTypeDetails Equal DiscoveryMailbox)(RecipientTypeDetails Equal SharedMailbox)))(Name Equal DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852})))”, scope “SubTree” under the root “$null”.
    [09/14/2018 14:42:14.0687] [2] Previous operation run on global catalog server ‘TEST.test.somedomainweb.com’.
    [09/14/2018 14:42:14.0687] [2] Preparing to output objects. The maximum size of the result set is “1”.
    [09/14/2018 14:42:14.0687] [2] [WARNING] The object test.somedomainweb.com/Users/DiscoverySearchMailbox {D919BA05-46A6-415f-80AD-7E09334BB852} has been corrupted, and it’s in an inconsistent state. The following validation errors happened:
    [09/14/2018 14:42:14.0687] [2] [WARNING] Database is mandatory on UserMailbox.
    [09/14/2018 14:42:14.0687] [2] [WARNING] Database is mandatory on UserMailbox.
    [09/14/2018 14:42:14.0687] [2] Ending processing get-mailbox
    [09/14/2018 14:42:14.0687] [1] The following 2 error(s) occurred during task execution:
    [09/14/2018 14:42:14.0687] [1] 0. ErrorRecord: Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0687] [1] 0. ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0687] [1] [ERROR] The following error was generated when “$error.Clear();
    if ($RoleIsDatacenter -ne $true)
    {
    if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
    {
    # upgrade the discovery mailboxes to R5 version, this will fix the RecipientDisplayType property of the discovery mailbox which was wrong in R4.
    get-mailbox -RecipientTypeDetails DiscoveryMailbox -DomainController $RoleDomainController | where {$_.IsValid -eq $false} | set-mailbox -DomainController $RoleDomainController
    $name = [Microsoft.Exchange.Management.RecipientTasks.EnableMailbox]::DiscoveryMailboxUniqueName;
    $dispname = [Microsoft.Exchange.Management.RecipientTasks.EnableMailbox]::DiscoveryMailboxDisplayName;
    $mbxs = @( get-mailbox -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
    if ( $mbxs.length -eq 0)
    {
    $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
    if($dbs.Length -ne 0)
    {
    $mbxUser = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
    if ($mbxUser.Length -ne 0)
    {
    enable-mailbox -Discovery -identity $mbxUser[0] -DisplayName $dispname -database $dbs[0].Identity;
    }
    }
    }
    }
    else
    {
    write-exchangesetuplog -info “Skipping creating Discovery Search Mailbox because of insufficient permission.”
    }
    }
    ” was run: “Database is mandatory on UserMailbox. Property Name: Database”.
    [09/14/2018 14:42:14.0702] [1] [ERROR] Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0702] [1] 1. ErrorRecord: Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0702] [1] 1. ErrorRecord: Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0702] [1] [ERROR] The following error was generated when “$error.Clear();
    if ($RoleIsDatacenter -ne $true)
    {
    if (test-ExchangeServersWriteAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue)
    {
    # upgrade the discovery mailboxes to R5 version, this will fix the RecipientDisplayType property of the discovery mailbox which was wrong in R4.
    get-mailbox -RecipientTypeDetails DiscoveryMailbox -DomainController $RoleDomainController | where {$_.IsValid -eq $false} | set-mailbox -DomainController $RoleDomainController
    $name = [Microsoft.Exchange.Management.RecipientTasks.EnableMailbox]::DiscoveryMailboxUniqueName;
    $dispname = [Microsoft.Exchange.Management.RecipientTasks.EnableMailbox]::DiscoveryMailboxDisplayName;
    $mbxs = @( get-mailbox -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1 );
    if ( $mbxs.length -eq 0)
    {
    $dbs = @(get-MailboxDatabase -Server:$RoleFqdnOrName -DomainController $RoleDomainController);
    if($dbs.Length -ne 0)
    {
    $mbxUser = @(get-user -Filter {name -eq $name} -IgnoreDefaultScope -ResultSize 1);
    if ($mbxUser.Length -ne 0)
    {
    enable-mailbox -Discovery -identity $mbxUser[0] -DisplayName $dispname -database $dbs[0].Identity;
    }
    }
    }
    }
    else
    {
    write-exchangesetuplog -info “Skipping creating Discovery Search Mailbox because of insufficient permission.”
    }
    }
    ” was run: “Database is mandatory on UserMailbox. Property Name: Database”.
    [09/14/2018 14:42:14.0702] [1] [ERROR] Database is mandatory on UserMailbox. Property Name: Database
    [09/14/2018 14:42:14.0702] [1] [ERROR-REFERENCE] Id=SystemAttendantDependent___590e51a8a98846d3a7fa8ddcc5472c74 Component=EXCHANGE14:\Current\Release\PIM Storage\Discovery
    [09/14/2018 14:42:14.0702] [1] Setup is stopping now because of one or more critical errors.
    [09/14/2018 14:42:14.0702] [1] Finished executing component tasks.
    [09/14/2018 14:42:14.0765] [1] Ending processing Install-MailboxRoleF

    1. Hi James,

      So you don’t have any Exchange server any more at all? Your log is also complaining about permissions – are you using the correct account with all the required permissions?

      Regards,
      Nuno

    1. There was a single version of Exchange in this example. Are you facing the same problem but you have both 2010 and 2016? Have you migrated the arbitration mailboxes to 2016? Simple home it to wherever the other ones are as well.

Leave a Comment

Your email address will not be published.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top