The warning Exchange database is mandatory on UserMailbox is showing in Exchange Admin Center. It’s showing the warning in the details pane after selecting the user in the mailboxes list view. After calling the user, we can confirm that she can’t sign in to her mailbox. What is the solution to Exchange database is mandatory on UserMailbox warning?
Table of contents
- Database is mandatory on UserMailbox warning
- Check database is mandatory warning in Exchange Admin Center
- Check database is mandatory warning in Exchange Management Shell
- Check HomeMDB attribute in ADSI Edit
- Solution to Exchange database is mandatory on UserMailbox
- Verify the results
- Conclusion
Before we start, it’s good to reproduce the issue. First, let’s see what is happening in the Exchange Admin Center (EAC). After that, we will check the status in Exchange Management Shell (EMS).
Check database is mandatory warning in Exchange Admin Center
Sign in to the EAC with administrator privileges. Click recipients in the feature pane and follow with mailboxes in the tabs. Click the user in the list view. In the details pane, we can see the warning: There are multiple warnings. Click here to see more.
Click on the yellow warning to see more.
The warning shows that the user mailbox is corrupted.
Warning
The object exoip.local/Users/Administrator has been corrupted or isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened:
Database is mandatory on UserMailbox.
Check database is mandatory warning in Exchange Management Shell
Now that we have seen the warning in EAC. It’s good to check what’s showing in EMS.
We are going to make use of the Get-Mailbox cmdlet and the -Identity parameter.
[PS] C:>Get-Mailbox -Identity "Kylie Davidson" | fl Database
Database :
WARNING: The object exoip.local/Company/Users/Sales/Kylie Davidson has been corrupted or isn't compatible with
Microsoft support requirements, and it's in an inconsistent state. The following validation errors happened:
WARNING: Database is mandatory on UserMailbox.
WARNING: Database is mandatory on UserMailbox.
The same warning is showing. WARNING: The object has been corrupted or isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened: WARNING: Database is mandatory on UserMailbox.
Check HomeMDB attribute in ADSI Edit
Sign in to the domain controller and navigate to the Start menu. Open Administrative Tools and start ADSI Edit.
Once opened, right-click ADSI Edit and click Connect to…
Select Default naming context and click OK.
Expand the OU where the user object is configured. In my example, the user is onfigured in the OU=Sales. Right-click the user and click Properties.
In the Attribute Editor tab, search for attribute homeMDB. We can see that the value is <not set>.
A mailbox that is configured in Exchange Server, needs to have a homeMDB. This attribute contains the mailbox database where the object will be assigned a mailbox (e-mail account).
Solution to Exchange database is mandatory on UserMailbox
Have a look at the mailboxes in EAC. Make sure that you select a user mailbox that does not have the database is mandatory on UserMailbox warning. After you find a user, the next step is to find the user in ADSI Edit.
Right-click the user object that you searched for in the previous step. Again, this user does not have that warning. Search for homeMDB and double-click it.
Copy the Value and click twice on OK.
Go to the user object with the <not set> value. That’s the user with the warning. Right-click and click Properties.
Search for HomeMDB and double-click on it.
Paste the copied value. Click OK.
Confirm that the value is set. Click OK.
For the changes to take effect, we need to wait a couple of hours. We can force that by restarting the Exchange Information Store.
If there are mailboxes configured on other mailbox databases in the same Exchange Server, restart the service after working hours. All the users that have their mailbox on the effected databases will lose their Outlook Connection for a short moment. If the Exchange Server is configured in a DAG, you can perform a server switchover and restart the service.
Start Windows Services and select Microsoft Exchange Information Store. Click Restart the service.
Verify the results
Verify the results in both EAC and EMS.
Sign in to the EAC and click the mailbox in the list view. There is no warning anymore in the details pane.
Run the cmdlet to check in which database the user mailbox is configured.
[PS] C:>Get-mailbox -Identity "Kylie Davidson" | fl Database
Database : DB01
It’s looking great. The user can now sign in to her mailbox account.
Did it help you to fix the warning Exchange database is mandatory on UserMailbox warning?
Conclusion
In this article, you learned about Exchange database is mandatory on UserMailbox warning. The solution to this warning is to have a look in ADSI Edit. In ADSI Edit verify that the homeMDB attribute value is not set for the user object. Copy the homeMDB attribute value of another user object. After that, paste the value in the user object with the warning. Restart the Exchange Information Store service for changes to take effect. As of last, verify the results in both Exchange Admin Center and in Exchange Management Shell.
If you liked this article, you may also like to read Delete mailbox database in Exchange Server. Follow us on Twitter and LinkedIn to stay up to date with the latest articles.
Да, в данном конкретном разделе AD, который вы проверили этой командой, застрявших объектов нет (иначе были бы события с кодом 1946 и в событии с кодом 1942 счетчик был бы больше 0). Но надо проверить все реплицируемые
с CHBC разделы.
Возможна ещё одна ошибка — было потеряно событие восстановления объекта из удаленных. В связи с этим объект был удален в центре, а с CHBC приходит теперь только информация об изменении части атрибутов, которую принимающий
КД не может применить из-за включенной Strict Replication Consistency. Если у вас контроллер домена CHELYABINSK единственный (этот самый CHBC), то в таком случае других источников (разделов каталога, доступных для
чтения-записи) для этого объекта нет. Поиск застрявших объектов в таком случае ничего не даст, т.к. нет другого источника, с которым можно сравнить.
В данном случае, прежде всего, я бы нашел на CHBC, что это за объект, с которым связана ошибка. Для этого нужно на CHBC запустить Powershell, и поискать этот объект (судя по тому, что идет попытка обновления атрибута member, это — группа)
Import-Module ActiveDirectory
get-adobject ‘197cb02d-2a5a-46c9-9b5f-727c8a5bd8ba’ -IncludeDeletedObjects
Если это — универсальная группа, определенная в домене CHELYABINSK (а особенно — если еще и удаленная), то можно смело временно отключить Strict Replication Consistency на принимающем КД (MSDC, насколько я понимаю, а
нужный для отключения/включения ключ реестра — HKLMSystemCurrentControlSetServicesNTDSParametersStrict Replication Consistency — указан в тексте события 1988 в журнале Directory Service на нем), и пробовать произвести репликацию
на него c CHBC.
После успешной репликации надо проверить другой КД — партнер MSDC по репликации, тоже являющийся глобальным каталогом, что он, в свою очередь, может реплицироваться с MSDC. Если там возникнет та же ошибка, то придется времено
отключать Strict Replication Consistency на всех глобальных каталогах.
Слава России!
-
Изменено
19 августа 2019 г. 16:35
-
Предложено в качестве ответа
M.V.V. _
20 августа 2019 г. 10:21 -
Помечено в качестве ответа
Dmitriy VereshchakMicrosoft contingent staff, Moderator
20 августа 2019 г. 11:22
Содержание
- “Database is mandatory on UserMailbox” when installing Exchange Server
- About Gareth Gudger
- Reader Interactions
- Comments
- Error database is mandatory on usermailbox
- Question
- Answers
- Error database is mandatory on usermailbox
- Answered by:
- Question
- Answers
- Error database is mandatory on usermailbox
- Answered by:
- Question
- Answers
- All replies
- Error database is mandatory on usermailbox
- Answered by:
- Question
- Answers
“Database is mandatory on UserMailbox” when installing Exchange Server
When introducing a new Exchange Server into your existing Exchange environment, the installer may throw the error “Database is mandatory on UserMailbox” and prevent you from continuing.
If you examine the Exchange Setup Logs (which can be found at “C:ExchangeSetupLogsExchangeSetup.txt”) you may find a few more clues as to which mailboxes are missing their databases parameter.
Towards the end of our Exchange setup log, we found the following two error lines.
The key here is “SystemAttendant.” The System Attendant is an arbitration mailbox. Let’s check on the health of all our arbitration mailboxes. We can do this by entering the following command into the Exchange Management Shell.
The output from this command identifies that we have a single broken system mailbox.
We can examine this further by launching Active Directory Users and Computers (be sure to have Advanced Features enabled under the View menu) and opening the properties of the affected system mailbox. Typically these system mailboxes are located in the default Users OU.
From the properties dialog, select the Attribute Editor tab. Next, look for the HomeMDB property.
It is highly likely that one of the following two scenarios will be true. Either the HomeMDB field lists a database that no longer exists, or, the HomeMDB field is null.
Regardless of the scenario, fixing this error is the same. We need to rehome the system mailbox to a new database. Keep in mind that rehoming the mailbox will create a brand new empty system mailbox.
Note: If an empty system mailbox is an issue I would recommend restoring the system mailbox from backup instead. Most backup vendors should allow you to restore a mailbox to a different database. Please consult your backup vendor for this restoration process.
To rehome our system mailbox, we are going to use the Set-Mailbox command with the Database parameter. In the example below, we are rehoming our broken system mailbox to DB03. Be sure to change the database value to a database in your environment. We will also need to use the Arbitration parameter to instruct Exchange that we are working with a system mailbox. You will receive two prompts to confirm this action. Press enter to accept the default action of Yes to each.
Repeat this process for any additional broken system mailboxes you may have. Once all system mailboxes are repaired, rerunning our first PowerShell command should result in no errors.
With all system mailboxes rehomed and resolved, you will now be able to proceed with your Exchange install.
Have you seen this issue before? What did you do to fix it? Drop a comment below or join the conversation on Twitter @SuperTekBoy.
About Gareth Gudger
Gareth is an Microsoft MVP specializing in Exchange and Office 365. Gareth also contributes to the Office 365 for IT Pros book, which is updated monthly with new content. Find Gareth on LinkedIn, Twitter, or, Facebook.
Reader Interactions
Robert Steele says
Fixed my issue for Exchange 2019 migration.
Thank you!!
miker says
This was helpful. We had 2 Exch 2013 servers and 1 exch 2016. since removing all mailboxes to o365 I removed the 2 Exch 2013 servers and was leaving the exch 2016 as a hybrid mgmt. Tring to upgrade Exch 2016 failed and left me busted with this error (all my system mailboxes were jacked up). I couldn’t start up EMS so I had to install Exch 2016 on another server in order to get a shell (and access to the ECP portal) where I was able to run the set-mailbox command to rehome. I used get-mailbox -database [problemdb] (with and w/o -arbitration switch) to get all the mbxes on the bad database. I created a new db on the new server and rehomed them all there. Worked perfectly.
Dennis Aston says
What do you do when you run into this error during an install and when you run a get-mailbox command manually on the server and you get nothing more than a “Database is Mandatory on UserMailbox” I can’t find out WHICH mailbox.
sysadmin says
Источник
Error database is mandatory on usermailbox
Question
In Recipients Mail Box every user above of him it shows this message: Warning The object has been corrupted of isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened:Database is mandatory on UserMailbox
Every user needed to remove then add again in AD users & computers to run Exchange 2016.
- Moved by Edward van Biljon MVP Monday, September 19, 2016 10:55 AM Moved to correct forum
Answers
Base on error message, this issue is mostly caused by missing HomeMDB value for problematic mailbox.
Please open ADSI Edit and connect to Default naming context, double-click CN=Users, right-click problematic mailbox, and then click Properties, swtich to Attribute and check the value of homeMDB.
You can copy this value from mailbox which store in same database, and replace the value for problematic mailbox.
Источник
Error database is mandatory on usermailbox
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
In Recipients Mail Box every user above of him it shows this message: Warning The object has been corrupted of isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened:Database is mandatory on UserMailbox
Every user needed to remove then add again in AD users & computers to run Exchange 2016.
- Moved by Edward van Biljon MVP Monday, September 19, 2016 10:55 AM Moved to correct forum
Answers
Base on error message, this issue is mostly caused by missing HomeMDB value for problematic mailbox.
Please open ADSI Edit and connect to Default naming context, double-click CN=Users, right-click problematic mailbox, and then click Properties, swtich to Attribute and check the value of homeMDB.
You can copy this value from mailbox which store in same database, and replace the value for problematic mailbox.
Источник
Error database is mandatory on usermailbox
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
I migrated our exchange server from 2013 to 2016 last year and by mistake we didn’t decommission the old exchange 2013 server and someone from our team removed that VM. About one week back I removed old server and its database using ADSI Edit. Everything works fine, but the command «Get-Mailbox» gives «Database is mandatory on UserMailbox» error and when I open recipient mailbox from ECP that shows this same error. Here is the error we get while running Get-mailbox command in exchange management shell.
We are running Exchange 2016 CU2.
[PS] C:Windowssystem32>get-mailbox
Database is mandatory on UserMailbox.
+ CategoryInfo : NotSpecified: (:) [Get-Mailbox], DataValidationException
+ FullyQualifiedErrorId : [Server= ,RequestId=a9f3d9ba-a48c-4bbc-a0e1-9db5b22729d6,TimeStamp=11/26/2017 2:22:27
PM] [FailureCategory=Cmdlet-DataValidationException] B239F126,Microsoft.Exchange.Management.RecipientTasks.GetMai
lbox
+ PSComputerName : .domain.com
Please help me resolve this issue. Thank you very much for your valuable time.
Answers
This issue has been resolved removing public folder hierarchy mailbox attached to old server database. clearing MSExchangeDefaultPublicFolder in ADSI Edit from Organization property and creating a new public folder mailbox resolved the issue.
This error often occurs when the system mailbox is not associated with any database. Please use the Get-Mailbox -Arbitration | Select Name, Database to check if anyone is returned with no database associated. If it is returned, check its properties in Active Directory to see if the homeMDB attribute was blank. If yes, associate it with a database you want to use by Set-Mailbox -Arbitration -Database .
If these steps cannot resolve this issue, please provide a screenshot of the outputs in your Exchange Management Shell. Also, check if there is any Event log generated when the issue occurs.
Please remember to mark the replies as answers if they helped.
If you have feedback for TechNet Subscriber Support, contact tnsf@microsoft.com.
Thanks for your reply. I tried recreating system mailboxes by deleting those from ADUC and setup /PrepareAD command, and enable the mailboxes. I still get the same error after doing this. I removed monitoring mailboxes also and recreated. The Exchange management shell is not taking the command Get-Mailbox at all. If I run this command «Get-Mailbox» with or without any switch the reply is «Database Mandatory on UserMailbox» error. I’m not able to attach the image that gives warning that cannot be attached here. Here is the text when I run Get-Mailbox -Arbitration | Select Name, Database
Get-Mailbox -Arbitration | Select Name, Database
[PS] C:Windowssystem32>Get-Mailbox -Arbitration | Select Name, Database
Database is mandatory on UserMailbox.
+ CategoryInfo : NotSpecified: (:) [Get-Mailbox], DataValidationException
+ FullyQualifiedErrorId : [Server=Sname,RequestId=e2827071-7b4a-4e95-8024-2877ac0a45b0,TimeStamp=11/27/2017 2:56:32
PM] [FailureCategory=Cmdlet-DataValidationException] B2E8F3AB,Microsoft.Exchange.Management.RecipientTasks.GetMai
lbox
+ PSComputerName : sname.domain.com
Please let me know if you need any other information or screenshots.
Источник
Error database is mandatory on usermailbox
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
In Recipients Mail Box every user above of him it shows this message: Warning The object has been corrupted of isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state. The following validation errors happened:Database is mandatory on UserMailbox
Every user needed to remove then add again in AD users & computers to run Exchange 2016.
- Moved by Edward van Biljon MVP Monday, September 19, 2016 10:55 AM Moved to correct forum
Answers
Base on error message, this issue is mostly caused by missing HomeMDB value for problematic mailbox.
Please open ADSI Edit and connect to Default naming context, double-click CN=Users, right-click problematic mailbox, and then click Properties, swtich to Attribute and check the value of homeMDB.
You can copy this value from mailbox which store in same database, and replace the value for problematic mailbox.
Источник
- Remove From My Forums
-
Question
-
In Recipients Mail Box every user above of him it shows this message:Warning The object has been corrupted of isn’t compatible with Microsoft support requirements, and it’s in an inconsistent state.
The following validation errors happened:Database is mandatory on UserMailboxEvery user needed to remove then add again in AD users & computers to run Exchange 2016.
Any solution?
-
Moved by
Monday, September 19, 2016 10:55 AM
Moved to correct forum
-
Moved by
Answers
-
Hi,
Base on error message, this issue is mostly caused by missing HomeMDB
value for problematic mailbox.Please open ADSI Edit and connect to Default naming context, double-click
CN=Users, right-click problematic mailbox, and then click
Properties, swtich to Attribute and check the value of
homeMDB.
You can copy this value from mailbox which store in same database, and replace the value for problematic mailbox.If this issue occur on all mailbox, please check this value for System Attendant mailbox.
More details about it, for your reference:
https://technet.microsoft.com/en-us/library/dd535374(EXCHG.80).aspx
Allen Wang
TechNet Community SupportPlease remember to mark the replies as answers if they help and
unmark them if they provide no help.
If you have feedback for TechNet Subscriber Support, contact
tnmff@microsoft.com.-
Edited by
Allen_WangJF
Tuesday, September 20, 2016 1:46 PM -
Proposed as answer by
Allen_WangJF
Monday, September 26, 2016 3:37 PM -
Marked as answer by
Allen_WangJF
Friday, September 30, 2016 2:34 PM
-
Edited by
-
I solved the problem by deleting the user then add it again.
-
Edited by
Meao
Monday, October 24, 2016 10:29 AM -
Marked as answer by
Edward van BiljonMVP
Monday, October 24, 2016 11:07 AM
-
Edited by
When introducing a new Exchange Server into your existing Exchange environment, the installer may throw the error “Database is mandatory on UserMailbox” and prevent you from continuing.
If you examine the Exchange Setup Logs (which can be found at “C:ExchangeSetupLogsExchangeSetup.txt”) you may find a few more clues as to which mailboxes are missing their databases parameter.
Towards the end of our Exchange setup log, we found the following two error lines.
[07/01/2020] [1] [ERROR] Database is mandatory on UserMailbox. [07/01/2020] [1] [ERROR-REFERENCE] Id=SystemAttendantDependent___04cc4eded45c32a6bf14ee3fe543df60 Component=EXCHANGE14:CurrentReleasePIM StorageDiscovery
The key here is “SystemAttendant.” The System Attendant is an arbitration mailbox. Let’s check on the health of all our arbitration mailboxes. We can do this by entering the following command into the Exchange Management Shell.
C:> Get-Mailbox -Arbitration | Select Name | Format-Table Name ---- SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 SystemMailbox{1f05a927-7f83-496b-a118-a96cdde1cd3c} WARNING: The object SKARO.LOCAL/Users/SystemMailbox{1f05a927-7f83-496b-a118-a96cdde1cd3c} has been corrupted, and it's in an inconsistent state. The following validation errors happened: WARNING: Database is mandatory on UserMailbox. WARNING: Database is mandatory on UserMailbox. SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9} SystemMailbox{D0E409A0-AF9B-4720-92FE-AAC869B0D201} Migration.8f3e7716-2011-43e4-96b1-aba62d229136 SystemMailbox{2CE34405-31BE-455D-89D7-A7C7DA7A0DAA}
The output from this command identifies that we have a single broken system mailbox.
We can examine this further by launching Active Directory Users and Computers (be sure to have Advanced Features enabled under the View menu) and opening the properties of the affected system mailbox. Typically these system mailboxes are located in the default Users OU.
From the properties dialog, select the Attribute Editor tab. Next, look for the HomeMDB property.
It is highly likely that one of the following two scenarios will be true. Either the HomeMDB field lists a database that no longer exists, or, the HomeMDB field is null.
Regardless of the scenario, fixing this error is the same. We need to rehome the system mailbox to a new database. Keep in mind that rehoming the mailbox will create a brand new empty system mailbox.
Note: If an empty system mailbox is an issue I would recommend restoring the system mailbox from backup instead. Most backup vendors should allow you to restore a mailbox to a different database. Please consult your backup vendor for this restoration process.
To rehome our system mailbox, we are going to use the Set-Mailbox command with the Database parameter. In the example below, we are rehoming our broken system mailbox to DB03. Be sure to change the database value to a database in your environment. We will also need to use the Arbitration parameter to instruct Exchange that we are working with a system mailbox. You will receive two prompts to confirm this action. Press enter to accept the default action of Yes to each.
C:> Set-Mailbox -Identity "SystemMailbox{1f05a927-7f83-496b-a118-a96cdde1cd3c}" -Database "DB03" -Arbitration Confirm Rehoming mailbox "SystemMailbox{1f05a927-7f83-496b-a118-a96cdde1cd3c}" to database "DB03". This operation will only modify the mailbox's Active Directory configuration. Be aware that the current mailbox content will become inaccessible to the user. [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): Y Confirm "SystemMailbox{1f05a927-7f83-496b-a118-a96cdde1cd3c}" is an arbitration mailbox. Arbitration mailboxes are used for managing approval workflows. Changing its configuration could have negative effects. Do you want to continue? [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): Y [PS] C:>
Repeat this process for any additional broken system mailboxes you may have. Once all system mailboxes are repaired, rerunning our first PowerShell command should result in no errors.
C:> Get-Mailbox -Arbitration | Select Name | Format-Table Name ---- SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c} FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 SystemMailbox{1f05a927-7f83-496b-a118-a96cdde1cd3c} SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9} SystemMailbox{D0E409A0-AF9B-4720-92FE-AAC869B0D201} Migration.8f3e7716-2011-43e4-96b1-aba62d229136 SystemMailbox{2CE34405-31BE-455D-89D7-A7C7DA7A0DAA}
With all system mailboxes rehomed and resolved, you will now be able to proceed with your Exchange install.
Have you seen this issue before? What did you do to fix it? Drop a comment below or join the conversation on Twitter @SuperTekBoy.
Gareth is an Microsoft MVP specializing in Exchange and Office 365. Gareth also contributes to the Office 365 for IT Pros book, which is updated monthly with new content. Find Gareth on LinkedIn, Twitter, or, Facebook.
Reader Interactions
Recently I was contacted by one of my customers that their hybrid Exchange 2016 servers failed while upgrading to Cumulative Update 6 (CU6). They were not able to get past the error. Luckily for them, about 99% of the users in their environment were already moved to the cloud, so the end users were not directly affected by this server being down. The failure had occurred on Step 7 of 11, the Mailbox Role: Mailbox Service stage. So what was the cause? First, we can take a look at the error messages:
The detailed error message provide below in the 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; Write-ExchangeSetupLog -Info ("Configuring offline address book(s) for this mailbox"); Get-OfflineAddressBook | where {$_.ExchangeVersion.CompareTo([Microsoft.Exchange.Data.ExchangeObjectVersion]::Exchange2012) -ge 0 -and $_.GeneratingMailbox -eq $null} | Set-OfflineAddressBook -GeneratingMailbox $sysMbx.Identity; } 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: "Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox. at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.TryRunADOperation(ADOperation operation, Boolean throwExceptions) at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCacheableItem`1.Initialize(OrganizationId organizationId, CacheNotificationHandler cacheNotificationHandler, Object state) at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.InitializeAndAddPerTenantSettings(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Object state) at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.TryGetValue(OrganizationId orgId, Boolean allowExceptions, TSettings& perTenantSettings, Boolean& hasExpired, Object state) at Microsoft.Exchange.Data.Directory.SystemConfiguration.TenantConfigurationCache`1.GetValue(OrganizationId orgId) at Microsoft.Exchange.Management.RecipientTasks.GetMailbox.ConvertDataObjectToPresentationObject(IConfigurable dataObject) at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.WriteResult(IConfigurable dataObject) at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.WriteResult[T](IEnumerable`1 dataObjects) at Microsoft.Exchange.Configuration.Tasks.GetTaskBase`1.InternalProcessRecord() at Microsoft.Exchange.Configuration.Tasks.GetObjectWithIdentityTaskBase`2.InternalProcessRecord() at Microsoft.Exchange.Configuration.Tasks.GetRecipientObjectTask`2.InternalProcessRecord() at Microsoft.Exchange.Management.RecipientTasks.GetRecipientWithAddressListBase`2.InternalProcessRecord() at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b() at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".
The error message is pretty vague with a lot of information that, while relevant, seems a bit convoluted. However, if we check the bottom of the error message text, we see this cryptic error message:
Well. It sort of explains the errors. However, which user is causing the errors? Maybe there is some addition information in the rest of the error message. What you will notice is that the beginning of the error is a lot of PowerShell code…. When examined, I see one clue that may relate to the error message about a user missing a Database:
A bit lower down, we see that the system mailbox, stored above in a variable called ‘$Name’ is used in a Get-Mailbox cmdlet:
It appears that we have a possible issue with one of the System Mailboxes. Maybe one of the attributes is corrupt or missing. We did some investigation of the mailbox attributes of this particular mailbox. First, we ran a ‘Get-Mailbox -Arbitration’ to check out the system mailboxes. However, we received this error:
Nice. Now we have a broken cmdlet on top of the broken upgrade attempt … or is it related to the System Mailbox? Usually when a SystemMailbox is broken, or has corrupt/missing attributes we can reset the accounts with the Setup /PrepareAD cmdlet. The procedure is outlined here:
https://technet.microsoft.com/en-us/library/gg588318%28v=exchg.150%29.aspx
Unfortunately for us, this did not seem to work. Quite mystifying actually. The client and I tried a few more steps, but ran out of time that day to figure out the issue. The next day, the client opened a case with Microsoft and spent the better part of the day trying to resolve the problem. These calls normally end with some sort of resolution, but Microsoft was unable to find the fault.
Solution
As it turned out, there was an object in Active Directory that was causing a problem. It was found using PowerShell to explore all attributed that were stored on mail enabled objects in Active Directory. It was not the HomeMDB value, which is what I would have expected from the error message that was originally generated. Instead, the offending values was ‘msExchHomeServerName’. No. Really? Yes. How was this value found? From Windows PowerShell, on a Domain Controller, I ran this cmdlet:
get-aduser -filter * -properties * | ft name,msExchHomeServerName,homemdb
However, finding the actual attribute was not that simple, only because we were initially misled by the HomeMDB attribute. Either way. We found the offending mailbox, added the ‘msExchHomeServerName’ value (copied from another mailbox) and then waiting for Active Directory replication. Once that was complete, the upgrade completed with no more complaints.
Below is an example of what we saw:
As a side note, this error with the Get-Mailbox cmdlet can be reproduced. If you can remove the ‘msExchHomeServerName’ value from one mailbox, Get-Mailbox no longer works… So don’t do that!
Posted by gunnermike53 2017-09-25T02:00:05Z
I had to make an emergency migration from one exchange server to another. Both are exchange 2016. I thought everything was working just fine. Mail flows in both directions. No errors. Until I tried adding a new account. That’s when I get this stupid error. Every single mailbox gives this error. When I select edit on a mailbox, I get that error. When I run » Get-Mailbox -Arbitration | ft Name, ServerName, Database -Auto», I don’t get the info the Microsoft docs say I shoulWhat is going on?
49 Replies
-
Try the following:
Get-MailboxDatabase
Get-Mailbox -Database «Database name here» -Arbitration | ft Name,ServerName,Database -Auto
Was this post helpful?
thumb_up
thumb_down
-
Same exact return.
Was this post helpful?
thumb_up
thumb_down
-
Sounds like a corrupt or missing attribute on the ‘homeMDB’ attribute.
Open the system mailboxes attributes in ADSIEdit and review the ‘homeMDB’ attribute.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
You won’t find it in Exchange, you would find it in ADSIEdit.msc or in Active Directory under «users» with a name of ‘systemmailbox…..’
Make sure advanced features is turned on in AD, then open the system mailbox properties in AD, go to the attribute editor tab, scroll down to the homeMDB attribute and see if it is populated.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
I have six and they look disabled.
Was this post helpful?
thumb_up
thumb_down
-
Yup, check each one
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Only one of them is missing that information. Should I copy the string from one of the others? Should I enable them?
Was this post helpful?
thumb_up
thumb_down
-
Yes, and no. They stay disabled.
Copy the string from another one.-Jay
Was this post helpful?
thumb_up
thumb_down
-
Will I need to reboot or restart any services?
Was this post helpful?
thumb_up
thumb_down
-
Shouldn’t need to, but if that doesn’t fix the issue, then the system mailboxes will need to be rebuilt from the Exchange installation media.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
Shouldn’t need to, but if that doesn’t fix the issue, then the system mailboxes will need to be rebuilt from the Exchange installation media.
-Jay
That sucks. Will I lose any data? Is it a complete reinstall or is there an option to just rebuild the system mailboxes?
Was this post helpful?
thumb_up
thumb_down
-
The data lost in those mailboxes is insignificant as they are corrupt right now anyway. Basically you delete the system mailboxes from AD and the federation, migration mailboxes as well. Should all be in the same location. Then open an elevated command prompt, change directories to the location where the Exchange media is located and then run the following.
Powershell
Setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
That will recreate the system mailboxes.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
I am getting the error on every single mailbox I select in the ECP. So will I lose every single mailbox and all the mail there?
Was this post helpful?
thumb_up
thumb_down
-
Are you deleting their mailboxes? Then no.
It’s a common thing, so much so, there is a TechNet on it.
https://technet.microsoft.com/en-us/library/gg588318(v=exchg.150).aspx Opens a new window
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
Are you deleting their mailboxes? Then no.
It’s a common thing, so much so, there is a TechNet on it.
https://technet.microsoft.com/en-us/library/gg588318(v=exchg.150).aspx Opens a new window
-Jay
Ok. Just making sure. There would be a lot of unhappy people…
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
The data lost in those mailboxes is insignificant as they are corrupt right now anyway. Basically you delete the system mailboxes from AD and the federation, migration mailboxes as well. Should all be in the same location. Then open an elevated command prompt, change directories to the location where the Exchange media is located and then run the following.
Powershell
Setup.exe /PrepareAD /IAcceptExchangeServerLicenseTerms
That will recreate the system mailboxes.
-Jay
So I did that and now none of the system mailboxes have anything in homemdb.
Was this post helpful?
thumb_up
thumb_down
-
You’re not done yet.
Now open the Exchange management shell and run the following,
Powershell
Get-User | Where {$_.Name –like "SystemMailbox*"} | Enable-Mailbox -Arbitration Get-User | Where {$_.Name –like "FederatedEmail*"} | Enable-Mailbox –Arbitration
Then change the name of the system mailbox to ‘Microsoft Exchange’ by running the following.
Powershell
Get-Mailbox –Identity "SystemMailbox{e0dc1c29*" –Arbitration | Set-Mailbox –Arbitration –DisplayName "Microsoft Exchange"
Then set the quota limit on the federation mailbox by running the following,
Powershell
Get-Mailbox –Arbitration –Identity "FederatedEmail*"} | Set-Mailbox –Arbitration –ProhibitSendQuota 1MB
Then test by running the get-mailbox -arbitration and see if they show up now.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
When I get to
Get-Mailbox –Identity «SystemMailbox{e0dc1c29*» –Arbitration | Set-Mailbox –Arbitration –DisplayName «Microsoft Exchange» I get
Was this post helpful?
thumb_up
thumb_down
-
The repair did not work then.
Open the properties of the system mailboxes in AD again, goto the attribute editor tab, scroll down to the homemdb attribute and open it.
This should have an attribute similar to
CN=<Database-Name>,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrive Groups,CN=<YOUR DOMAIN>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<YOUR DOMAIN NAME>,DC=COM
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
The repair did not work then.
Open the properties of the system mailboxes in AD again, goto the attribute editor tab, scroll down to the homemdb attribute and open it.
This should have an attribute similar to
CN=<Database-Name>,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrive Groups,CN=<YOUR DOMAIN>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<YOUR DOMAIN NAME>,DC=COM
-Jay
That is present in all the mailboxes now. Still getting that same error though.
Was this post helpful?
thumb_up
thumb_down
-
The steps I gave you are basically following this TechNet.
https://technet.microsoft.com/en-us/library/gg588318(v=exchg.141).aspx Opens a new window
Beyond that, populating the homemdb attribute manually may fix it but if it doesn’t then I suspect you have more issues in the environment.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Try restarting the servers then. Not ideal, but about the only thing left I can think of.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Still getting the same error. Where do I go from here?
Was this post helpful?
thumb_up
thumb_down
-
Go into AD, copy the names of the system mailboxes to notepad.
Then in Exchange management shell using the names you copied one by one, try the following,
Powershell
Set-Mailbox -Identity "NAME YOU COPIED" -Arbitration -ApplyMandatoryProperties
If you get an error on the first one, no se4nse in going beyond that, but if you don’t get an error, then repeat for each system mailbox.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
This is what returned:
Confirm
«SystemMailbox{1f05a927-9e05-42c9-bd1a-4e7dfb0315c7}» is an arbitration mailbox. Arbitration mailboxes are used for
managing approval workflows. Changing its configuration could have negative effects. Do you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is «Y»): a
WARNING: The command completed successfully but no settings of
‘VALP.ORG/Users/SystemMailbox{1f05a927-9e05-42c9-bd1a-4e7dfb0315c7}’ have been modified.
Was this post helpful?
thumb_up
thumb_down
-
And the get-mailbox -arbitration still fails?
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
And the get-mailbox -arbitration still fails?
-Jay
I get «database is mandatory on usermailbox».
Was this post helpful?
thumb_up
thumb_down
-
Your original issue was you had to move to a new server. Is the old server still operational? If not, did Exchange get properly uninstalled from the old server?
-Jay
Was this post helpful?
thumb_up
thumb_down
-
The server is mostly operational. I did not uninstall the exchange from the server. The documentation I read said to delete the server from adsi? Should I go back and uninstall it?
Was this post helpful?
thumb_up
thumb_down
-
Always uninstall Exchange when you can. Removing it from ADSIEdit is not recommended nor is it supported. If you have everything moved to the new server and things are working as expected then I would uninstall the server that is no longer needed.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
I will try and find that Technet article I read. In the meantime I will start the old server and uninstall the old server. Should I use the media or just uninstall through the programs in control panel? That is assuming that it will start back up…
Was this post helpful?
thumb_up
thumb_down
-
Use the add/remove programs.
If the server can no longer start, then yes, you will need to manually remove it. I have a feeling it’s the old server lingering around that is causing you issues.
_Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
Use the add/remove programs.
If the server can no longer start, then yes, you will need to manually remove it. I have a feeling it’s the old server lingering around that is causing you issues.
_Jay
After the third try, it finally started up. I am running the install now. So this will make my database problem magically go away?
Was this post helpful?
thumb_up
thumb_down
-
I didn’t say it would make it go away but having an Exchange server in the environment that is no longer on is bad all around. It injects a ton of info into AD about itself and thus turning it off, there are a lot of things still trying to reference that old server until it is properly uninstalled.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
It won’t let me uninstall.
Error:
The following error was generated when «$error.Clear();
get-MailboxDatabase -server $RoleFqdnOrName | remove-MailboxDatabase» was run: «Microsoft.Exchange.Configuration.Tasks.ManagementObjectNotFoundException: Exchange server «VALP-EXCSVR.VALP.ORG» was not found. Please make sure you typed the name correctly.
at Microsoft.Exchange.Configuration.Tasks.DataAccessTask`1.GetDataObject[TObject](IIdentityParameter id, IConfigDataProvider session, ObjectId rootID, OptionalIdentityData optionalData, Func`2 notFoundError, Func`2 multipleFoundError, ExchangeErrorCategory errorCategory)
at Microsoft.Exchange.Management.SystemConfigurationTasks.GetDatabaseTask`1.InternalValidate()
at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__b()
at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)».
Was this post helpful?
thumb_up
thumb_down
-
Are you using the add/remove programs to uninstall Exchange?
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Yup.
Was this post helpful?
thumb_up
thumb_down
-
Now I’m getting Error: An incomplete installation was detected. Run setup to complete exchange installation.
Was this post helpful?
thumb_up
thumb_down
-
You have some cleanup to do it looks like.
You’re going to need to look into each error and determine what it wants.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
On the old server? Because it wants me to re-run the installation of exchange.
Was this post helpful?
thumb_up
thumb_down
-
Try the following in PowerShell. Navigate to the setup media and then run,
Powershell
Setup.exe /mode:Uninstall /IAcceptExchangeServerLicenseTerms
If that fails, then try doing a recovery.
https://practical365.com/exchange-server/recovering-a-failed-exchange-server-2016-server/ Opens a new window
Opens a new window
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Recover then uninstall?
Was this post helpful?
thumb_up
thumb_down
-
no, uninstall, if that fails, then try a recovery.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
no, uninstall, if that fails, then try a recovery.
-Jay
Right. I tried to uninstall. It didn’t work. I tried to recover and that didn’t work either.
Was this post helpful?
thumb_up
thumb_down
-
BTW, the server is still in the AD.
Was this post helpful?
thumb_up
thumb_down
-
Then you will need to shut the server down and remove manually using the TechNet you mentioned.
-Jay
Was this post helpful?
thumb_up
thumb_down
-
Jay6111 wrote:
Then you will need to shut the server down and remove manually using the TechNet you mentioned.
-Jay
Ugh. I did all that though. I do see a little note that says always try uninstalling through add/remove programs. So that sucks.
Was this post helpful?
thumb_up
thumb_down
-
If it still shows in AD then you missed a few things to remove.
-Jay
Was this post helpful?
thumb_up
thumb_down
Read these next…
Spark! Pro series — 9th February 2023
Spiceworks Originals
Today in History: America meets the Beatles on “The Ed Sullivan Show”
At approximately 8:12 p.m. Eastern time, Sunday, February 9, 1964, The Ed Sullivan Show returned from a commercial (for Anacin pain reliever), and there was Ed Sullivan standing …
Green Brand Rep Wrap-Up: January 2023
Spiceworks Originals
Hi, y’all — Chad here. A while back, we used to feature the top posts from our brand reps (aka “Green Gals/Guys/et. al.) in a weekly or monthly wrap-up post. I can’t specifically recall which, as that was approximately eleven timelines ago. Luckily, our t…
Help with domain controller setup
Windows
I just got a new job as the only IT person for a business with around 270 employees (I would say probably less than half use computers) They don’t have any policies or procedures when it comes to IT, as they have never had an IT person. My background cons…
Malicious URLs
Security
We have firewall, we have endpoint protection, we have Safe links and Attachments for Office 365 (Microsoft Defense for Office 365 Plan 1), and still receiving links that lead to malicious web sites.It seems like security companies still didn’t develop a …
Snap! — Old Batteries, Lovable Bots, Quantum Breakthrough, Should We Trust AI?
Spiceworks Originals
Your daily dose of tech news, in brief.
Welcome to the Snap!
Flashback: February 8, 1996: The massive Internet collaboration “24 Hours in Cyberspace” takes place (Read more HERE.)
Bonus Flashback: February 8, 1974: Americans end outer spa…
When you are setting up a new exchange server to upgrade the current exchange server, with all the prerequisite has been applied and the next step is the run the setup.exe file of the exchange CU. However, you notice that the interface of the setup has stop at Step 7 which is “Mailbox role setup” because of an error encounter.
Usually the interface doesn’t really provide you the detail reason of error occur.
“Mailbox role: Transport service : Error”
Example:
To know get more understanding of the error, Go to > Windows Explorer > open C: Drive > Select Exchange Setup Log Folder > Open Exchange Setup txt file > Scroll to the bottom to get the details.
Example:
*Error: Database is mandatory on UserMailbox;
Below is the sample logs and error that causes the setup to stop, and it seems that there is a system mailbox “SystemAttendantDependent_xxx” found corrupted. Usually if is corrupted means that this account’s the value of HomeMDB attribute is empty. The solution to this is to add the correct value for HomeMDB attribute of the corrupted account.
Here how it is done;
- To find whether are there any other corrupted mailboxes;
- Open your current exchange server’s powershell
- Run this command
- Get-Mailbox -Arbitration | Select Name, Database
- Then it will show you number of corrupted mailboxes with WARNING stated
- Go to ADSI Edit > Connect to Default naming context > Users container > search for a valid user account with mailbox > Open properties
- Find the attribute HomeMDB > Copy the value (*Optional: You can paste the value into a notepad for temporary)
- Go to ADSI Edit > Connect to Default naming context > Users container > search for a corrupted account > Open properties
- Find the attribute HomeMDB > Replace the empty box with the copied value
- * Do this for corrupted mailboxes that you found, which is blocking your success to complete setup of your new exchange.
- Rerun the setup.exe
- If successful setup than continue with the post-installation.
*Note:
There could be other related corrupted account (Can’t be find from the exchange powershell) that has blocking your success to complete setup of your exchange. Please look into details of the logs to find out what are the other corrupted accounts and replace their empty value attribute with the correct ones.