- Remove From My Forums
-
Question
-
While trying to create new mailbox, the following message is displayed:
«Load balancing failed to find a valid mailbox database.»
If database is manually selected, there are no problems.
I’ve checked this:
Get-mailboxdatabase | ft name,isexcludedfromprovisioning
Name
IsExcludedFromProvisioning
—-
—————————
MAILBOX01
False
MAILBOX02
False
MAILBOX03
False
MAILBOX04
False——-
Get-MailboxDatabase –Status | FT Name, Mounted
Name
Mounted
—-
——-
MAILBOX01
True
MAILBOX02
True
MAILBOX03
True
MAILBOX04
True
Answers
-
Could you please brief me about your setup. Do you have exchange server spanned across multiple AD Sites ?
Enabling diagnostic logging on «Active manager » manager would help.
Is the console connecting to server in the primary data center or to a different server in a different data center ?
Did you try New-Mailbox cmd using Powershell and checked if mailbox provisioning is successful when a database not specified ?
Also, This problem may be caused by Remote PowerShell because one child script doesn’t respect site-link cost effectively even though some codes are in place.
Any action performed even by EMC would run a Powershell command in the back ground. so i guess this might be something to do with site-cost link and when the mailbox provosioning agent is trying to get hold of the information about the databases in the other
site.can you try below workaround and confirm if it works ?
1. Change AD Site Name of the Primary Datacenter Higher alphabetically.*** VOTE AS HELPFUL IF IT HELPS / MARK ANSWER IF IT ANSWERS ***
Pavan Maganti ~ ( Exchange | 2003/2007/2010/E15(2013)) ~~ Please remember to click “Vote As Helpful" if it really helps and "Mark as Answer” if it answers your question, “Unmark as Answer” if a marked post does not actually answer your
question. ~~ This Information is provided is "AS IS" and confers NO Rights!!-
Marked as answer by
Monday, March 16, 2015 10:07 AM
-
Marked as answer by
Summary: You might encounter an issue when enabling or creating a mailbox where it fails with the error, saying “Load balancing failed to find a valid mailbox database.” In this post, we will mention the possible solutions to fix this error. We will also mention an Exchange repair software that can help to easily recover mailboxes if the database doesn’t not mount.
Contents
- Troubleshooting the “Load Balancing failed to find a valid mailbox database” Error
- Things to check before we start troubleshooting
- Possible Fixes to Resolve the Error
- Conclusion
In Exchange Sever, when enabling a mailbox which was disabled, we run the below cmdlet using the Exchange Management Shell (EMS).
Enable-Mailbox -Identity <email address> -Alias <alias>
For creating a new mailbox, we use the following command.
New-Mailbox -Name "<display name>" -UserPrincipalName <email address> -Password <password string or plain text> -Database <mailbox database> -FirstName <first name> -LastName <last name> -OrganizationalUnit <ad ou>
When these commands are executed, we may get the error saying “Load balancing failed to find a valid mailbox database”. If we try to enable or create a mailbox using the Exchange Admin Center (EAC), we may still get the same error.
Due to this, we can’t create or enable the mailbox. Let’s see how to fix the “Load balancing failed to find a valid mailbox database” error.
Troubleshooting the “Load Balancing failed to find a valid mailbox database” Error
Below we have mentioned some possible fixes to resolve the error.
Things to check before we start troubleshooting
Before we start troubleshooting and fixing the issue, there are some things we need to check. The first thing to check is the readiness of the command. Most of the time, we make a typo in the command when it comes to the user details or mailbox database. Since the error says that it failed to find a valid mailbox database, this could be the actual issue.
Before going further, we need to contain the issue. We need to check if this is occurring on a specific database or all the databases in our system. This helps to understand if the issue is with the database or the Exchange Server.
After checking that the details are correct if we still have the same issue, then we need to check if the mailbox database is really there and is mounted. This can be checked from the Exchange Admin Center (EAC).
After login, click on servers and then click on databases.
This can also be checked using the below PowerShell command in the Exchange Management Shell (EMS). It will show the Mounted state as True, if Exchange database is mounted.
Get-MailboxDatabase -Identity "<mailbox database>" | FL
The next thing is to check the overall status of our Exchange Server and there are no issues with our server. Ensure that all is up-to-date and any Exchange Server Cumulative Updates (CU) are installed.
Lastly, check if any changes have been done in the Active Directory schema or infrastructure. As Exchange Server is heavily dependent on the Active Directory, it is important that the schema and the setup are working fine. It’s best to retrace the changes to ensure that there was nothing that may have affected the Exchange Server.
Possible Fixes to Resolve the Error
In Exchange Server, we can set databases and lock them to not allow or exclude a particular database/s from provisioning of mailboxes. This can be set using the set-mailboxdatabase PowerShell command.
There is not only one parameter to fix the problem. We need to run the Get-MailboxDatabase PowerShell command as given below to identify if the database is locked or not.
Get-MailboxDatabase -Identity "<mailbox database>" | Format-List Name,IsExcludedFrom*,IsSuspended*
This will show the right information. If we run the Get-MailboxDatabase command on its own, it will show a lot of information, which is not relevant to this issue.
The solution, if the above is shown as True, is to change the settings to False. This can be done by using the Set-MailboxDatabase command as given below.
Set-MailboxDatabase "<mailbox database>" -<parameter> $false
After this is complete, we should re-run the Get-MailboxDatabase command to confirm that the parameters have been changed as desired.
If no one set this parameter, then why was it enabled?
Well, the reason is something might have happened to the Exchange Server, which might have triggered this. Usually, the most common factor is when the storage of the mailbox database is full and there is not enough space. When such thing happens, we can extend the storage
Conclusion
The above troubleshooting solutions will work, if everything was working fine. However, there might be situation where the mailbox database would not mount and show dirty shutdown state due to corrupted or missing transaction logs. To resolve the issue within minimal time and without using lot of resources, an Exchange database recovery software such as Stellar Repair for Exchange is the best alternative. With this application, you can easily browse through multiple databases and export granularly to PST and other file formats. You can also create a new mailbox database and export directly to a live Exchange Server database with automatic mailbox matching.
About The Author
Ravi Singh
Ravi Singh is a Senior Writer at Stellar®. He is an expert Tech Explainer, IoT enthusiast, and a passionate nerd with over 7 years of experience in technical writing. He writes about Microsoft Exchange, Microsoft 365, Email Migration, Linux, Windows, Mac, DIY Tech, and Smart Home. Ravi spends most of his weekends working with IoT (DIY Smart Home) devices and playing Overwatch. He is also a solo traveler who loves hiking and exploring new trails.
Best Selling Products
Stellar Repair for Exchange
Software recommended by MVPs & Administr
Read More
Stellar Toolkit for Exchange
5-in-1 suite of specialized tools, highl
Read More
Stellar Converter for EDB
Stellar Converter for EDB is a professio
Read More
Stellar Converter for OST
Powerful software trusted by Microsoft M
Read More
While setting up Provisior at a new customer we ran into an error while testing the on-boarding of a new user. The mailbox could not be enabled in the local Exchange 2013 server.
The error Exchange returned was: Load balancing failed to find a valid mailbox database.
Fortunately Google helped us pretty fast. Following the tips in this article, we used these Powershell commando to check if the Exchange database was excluded from provisioning:
Get-mailboxdatabase | ft name,isexcludedfromprovisioning
Get-mailboxdatabase | ft name,issuspendedfromprovisioning
If any of the statements returns true, than that is the issue. Run the following commands to enable them:
Set-MailboxDatabase "MailboxDatabaseName" -IsSuspendedFromProvisioning $false
Set-MailboxDatabase "MailboxDatabaseName" -IsExcludedFromProvisioning $false
As mentioned in the article, if disk space has been running low on the Exchange server these settings can be changed to true. So this is really a situation the can occur in existing Provisior instances as well.
Может возникать ситуация, когда сотрудники группы поддержки забывают указывать базы данных при создании ящиков электронной почты для новых пользователей (New-Mailbox, Enable-Mailbox) и перемещении в другие базы существующих (New-MoveRequest). В этом случае, почтовый ящик создаётся в рандомной почтовой базе данных.
Исправить ситуацию поможет параметр IsExcludedFromProvisioning или IsSuspendedFromProvisioning.
Разница между ними в том, что параметр IsSuspendedFromProvisioning указывает, учитывается ли временно, а IsExcludedFromProvisioning, учитывается ли постоянно база данных подсистемой балансировки нагрузки подготовки почтовых ящиков. Если один из этих параметров для базы имеет значение $true, то при автоматическом распределении, в эту базу не создастся почтовый ящик.
Такое исключение из автоматического распределения не запрещает указывать вашу базу вручную.
То есть для того, чтобы задать базу данных для новых ящиков Microsoft Exchange по умолчанию, надо всем базам проставить параметр IsExcludedFromProvisioning:$True, а одной (или нескольким), в которых должны создаваться новые ящики, проставим IsExcludedFromProvisioning:$False.
Посмотрим значение параметров у всех баз:
Get-MailboxDatabase | select name, IsExcludedFromProvisioning, IsSuspendedFromProvisioning
Для того, чтобы запретить при не указанной явно базе создавать почтовые ящики где попало, проставим для баз параметр:
Set-MailboxDatabase <database name> -IsExcludedFromProvisioning $True
Для исключения всех баз:
Get-MailboxDatabase | Set-MailboxDatabase -IsExcludedFromProvisioning:$True
Если исключить все базы из автораспределения, при создании очередного ящика получим ошибку Load balancing failed to find a valid mailbox database.
Для того, чтобы вернуть базу в автораспределение:
Set-MailboxDatabase <database name> -IsExcludedFromProvisioning $False
Выполнять необходимо в Exchange Management Shell или в обычном Powershell, выполнив перед выполнением подключение к Exchange.
Если на машине установлена EMS, но нам надо выполнять в обычном Powershell, достаточно выполнить:
#Для Exchange выше 2013 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn #Для Exchange 2010 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 #Для Exchange 2007 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin
Если консоль не установлена, подключаемся к серверу Exchange так:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchangeServer/PowerShell/ -Authentication Kerberos Import-PSSession $Session
Как подключиться к Exchange Online через Powershell?
Статья у микрософт про автоматическое распределение: https://docs.microsoft.com/ru-ru/exchange/automatic-mailbox-distribution-exchange-2013-help
(5 оценок, среднее: 5,00 из 5)
Загрузка…
I had a strange issue come up recently where mail administrators were unable to allow Exchange to pick which mailbox database to place users into (I’m not quite sure what this feature is called so we’re going with automatic load balancing) when they were creating new user mailbox profiles. This feature essentially picks a database at random as a way to balance and spread out mailboxes among databases. Makes, sense to me. Anyway, I’m thinking we may have installed an update that changed the behavior because this feature had apparently been working up until we installed Rollup 5-v2. So it appears that this update had broken this automatic mailbox load balancing functionality, although I’m not 100% sure. I just wanted to mention it in case some of you are looking for clues as to why this is happening.
So here is what the error looks like when allowing Exchange to choose which database to use when a new user is initially created.
Error: Load balancing failed to find a valid mailbox database.
Hmm, okay. That is weird. You can check to see if the database is set to be allowed with this command.
get-mailboxdatabase | ft name,isexcludedfromprovisioning
In my case, all of my mailbox databases came back true, so they are unable to be used for automatically selecting a database when the user created. To fix this, go ahead and run the following.
get-mailboxdatabase | set-mailboxdatabase -isexcludedfromprovisioning $false
Now go ahead and run the first command again and you should see that all the mailboxes are now marked as false, meaning they are now included in the provisioning process.
Now you should be able to go through and create without selecing a specific mailbox. My best guess is that the update must have set this flag to exclude these databases from provisioning but is weird and is worth mentioning because it happened to cause some seemingly unexplained issues for us.
Josh is the creator of this blog, a system administrator and a contributor to other technology communities such as /r/sysadmin and Ops School. You can also find him on Twitter and Facebook.
Error Message:
Load balancing failed to find a valid mailbox database.
+ CategoryInfo : NotSpecified: (0:Int32) [New-Mailbox], RecipientTaskException
+ FullyQualifiedErrorId : [Server=EX2013,RequestId=7b6c4983-0b44-4f32-85fa-57765273dd1e,TimeStamp=3/25/2014 6:26:18 AM] [FailureCategory=Cmdlet-RecipientTaskException] 200D732F,Microsoft.Exchange.Management.RecipientTasks.NewMailbox
+ PSComputerName : ex2013.lab.com
Workaround:
[PS] C:Windowssystem32>New-Mailbox -Alias Raji -Name “Raji Subramanian” -FirstName Raji -LastName Subramanian -DisplayName “Raji Subramanian” -UserPrincipalName RajiS@lab.com -Password (ConvertTo-SecureString -String ‘Pa$$word1’ -AsPlainText -Force) -Database ‘Mailbox Database 1257518034’
Solution:
Verifying the provision
Get-mailboxdatabase | ft name,isexcludedfromprovisioning
Disabling the isexcludedfromprovisioning
Get-mailboxdatabase | set-mailboxdatabase -isexcludedfromprovisioning $false
Verifying again on creating mailbox
Worked Perfectly
What is the purpose of isexcludedfromprovisioning Parameter ?
Note from Technet : http://technet.microsoft.com/en-us/library/ff477621(v=exchg.150).aspx
The IsExcludedFromProvisioning parameter has have two valid values, $True and $False. When you set this property to $True, the mailbox database is excluded from the automatic distribution process. When you set it to $False, the mailbox database is included in the automatic distribution process. The default value is $False.
When a mailbox database is excluded from automatic distribution, the only way to create a mailbox in, or move a mailbox to, the database is to use the Database parameter on the New-Mailbox and Enable-Mailbox cmdlets or the TargetDatabase parameter on the New-MoveRequest cmdlet.
About Raji Subramanian
Nothing great to say about me…Just want to share my knowledge for others that will be useful at any moment of time when they stuck in critical issue….
Have you tried running the command directly in the Exchange Management Shell? If so, what was the result? That might be a workaround
Was this post helpful?
thumb_up
thumb_down
Running the command in the Exchange Shell gives the same result.
I did notice that our main mailbox has inactive databases, while they are active on the second. This might’ve happened because the first one rebooted by a bluescreen.
Whenever I check the event viewer I find a BugCheck:
The computer has rebooted from a bugcheck. The bugcheck was: 0x0000009e (0xfffffa80096d79b0, 0x000000000000003c, 0x0000000000000000, 0x0000000000000000). A dump was saved in: C:WindowsMEMORY.DMP. Report Id: 121418-8205-01.
I think this might’ve caused the databases to go inactive. Whenever I check the dumpfile I recieve the following information:
Text
BugCheck 9E, {fffffa80096d79b0, 3c, 0, 0} Probably caused by : clussvc.exe Followup: MachineOwner --------- 0: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* USER_MODE_HEALTH_MONITOR (9e) One or more critical user mode components failed to satisfy a health check. Hardware mechanisms such as watchdog timers can detect that basic kernel services are not executing. However, resource starvation issues, including memory leaks, lock contention, and scheduling priority misconfiguration, may block critical user mode components without blocking DPCs or draining the nonpaged pool. Kernel components can extend watchdog timer functionality to user mode by periodically monitoring critical applications. This bugcheck indicates that a user mode health check failed in a manner such that graceful shutdown is unlikely to succeed. It restores critical services by rebooting and/or allowing application failover to other servers. Arguments: Arg1: fffffa80096d79b0, Process that failed to satisfy a health check within the configured timeout Arg2: 000000000000003c, Health monitoring timeout (seconds) Arg3: 0000000000000000, WatchdogSourceDefault Source was not specified Arg4: 0000000000000000 Debugging Details: ------------------ KEY_VALUES_STRING: 1 STACKHASH_ANALYSIS: 1 TIMELINE_ANALYSIS: 1 DUMP_CLASS: 1 DUMP_QUALIFIER: 401 BUILD_VERSION_STRING: 7601.24291.amd64fre.win7sp1_ldr_escrow.181110-1429 SYSTEM_MANUFACTURER: VMware, Inc. VIRTUAL_MACHINE: VMware SYSTEM_PRODUCT_NAME: VMware Virtual Platform SYSTEM_VERSION: None BIOS_VENDOR: Phoenix Technologies LTD BIOS_VERSION: 6.00 BIOS_DATE: 07/03/2018 BASEBOARD_MANUFACTURER: Intel Corporation BASEBOARD_PRODUCT: 440BX Desktop Reference Platform BASEBOARD_VERSION: None DUMP_TYPE: 1 BUGCHECK_P1: fffffa80096d79b0 BUGCHECK_P2: 3c BUGCHECK_P3: 0 BUGCHECK_P4: 0 PROCESS_NAME: clussvc.exe IMAGE_NAME: clussvc.exe DEBUG_FLR_IMAGE_TIMESTAMP: 0 MODULE_NAME: clussvc FAULTING_MODULE: 0000000000000000 CPU_COUNT: 4 CPU_MHZ: 95d CPU_VENDOR: GenuineIntel CPU_FAMILY: 6 CPU_MODEL: 3f CPU_STEPPING: 2 CPU_MICROCODE: 6,3f,2,0 (F,M,S,R) SIG: 3D'00000000 (cache) 3D'00000000 (init) DEFAULT_BUCKET_ID: WIN7_DRIVER_FAULT BUGCHECK_STR: 0x9E CURRENT_IRQL: 2 ANALYSIS_SESSION_HOST: KVG-LT07 ANALYSIS_SESSION_TIME: 12-20-2018 08:54:44.0772 ANALYSIS_VERSION: 10.0.17763.1 amd64fre DPC_STACK_BASE: FFFFF80001620FB0 STACK_OVERFLOW: Stack Limit: fffff8000161afb0. Use (kF) and (!stackusage) to investigate stack usage. STACK_TEXT: fffff800`0161a428 fffff880`02eb099d : 00000000`0000009e fffffa80`096d79b0 00000000`0000003c 00000000`00000000 : nt!KeBugCheckEx fffff800`0161a430 fffff800`01891945 : fffff800`0161a4c0 00000000`00000000 fffffa80`09141010 00000000`00000000 : netft!NetftWatchdogTimerDpc+0xb9 fffff800`0161a480 fffff800`01890d2e : 00001215`24563dee fffff800`0161ab18 00000000`0798b3b1 fffff800`01a483a8 : nt!KiProcessExpiredTimerList+0x105 fffff800`0161aaf0 fffff800`01890b17 : 00111b27`d3e264c2 fffffa80`0798b3b1 fffffa80`0770f4e0 00000000`000000b1 : nt!KiTimerExpiration+0x1be fffff800`0161ab90 fffff800`018f6f1a : fffff800`01a44180 fffff800`01a541c0 00000000`00000000 fffff800`00000000 : nt!KiRetireDpcList+0x277 fffff800`0161ac40 00000000`00000000 : fffff800`0161b000 fffff800`01615000 fffff800`0161ac00 00000000`00000000 : nt!KiIdleLoop+0x5a THREAD_SHA1_HASH_MOD_FUNC: 07e637e06d647740607ddaa900060c33f8430506 THREAD_SHA1_HASH_MOD_FUNC_OFFSET: e489fd15ae7ee536e2341ceb8dcc05f8e46f9e40 THREAD_SHA1_HASH_MOD: 166af9acabbcb2afda68ab84516a7e35408d57b3 FOLLOWUP_NAME: MachineOwner STACK_COMMAND: .thread ; .cxr ; kb FAILURE_BUCKET_ID: X64_0x9E_IMAGE_clussvc.exe BUCKET_ID: X64_0x9E_IMAGE_clussvc.exe PRIMARY_PROBLEM_CLASS: X64_0x9E_IMAGE_clussvc.exe TARGET_TIME: 2018-12-14T20:10:54.000Z OSBUILD: 7601 OSSERVICEPACK: 1000 SERVICEPACK_NUMBER: 0 OS_REVISION: 0 SUITE_MASK: 274 PRODUCT_TYPE: 3 OSPLATFORM_TYPE: x64 OSNAME: Windows 7 OSEDITION: Windows 7 Server (Service Pack 1) Enterprise TerminalServer SingleUserTS OS_LOCALE: USER_LCID: 0 OSBUILD_TIMESTAMP: 2018-11-11 01:44:59 BUILDDATESTAMP_STR: 181110-1429 BUILDLAB_STR: win7sp1_ldr_escrow BUILDOSVER_STR: 6.1.7601.24291.amd64fre.win7sp1_ldr_escrow.181110-1429 ANALYSIS_SESSION_ELAPSED_TIME: 45c ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:x64_0x9e_image_clussvc.exe FAILURE_ID_HASH: {e63d8d7c-bac8-d724-b9fc-8fa65418b1dc} Followup: MachineOwner
Does anyone have an idea what could’ve caused this bugcheck? It says the probable cause is clussvc.exe, but won’t tell me why this is causing it and how to fix it.
The server is a Windows Server 2008 R2 Enterprise server by the way.
Was this post helpful?
thumb_up
thumb_down
What’s your current Exchange version? It is suggested that updating it to the latest. When it is RU5 or before,the issue might occur.
You also can try run cmdlet below to fix the error in powershell:
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
Was this post helpful?
thumb_up
thumb_down
We are on update rollup 24, so that’s not the problem. Also using the cmdlet you mentioned isn’t changing anything. It used to work fine, until last week.
I think it has to do with the bugcheck that happened earlier.
Was this post helpful?
thumb_up
thumb_down
Exchange 2013 Error: Load Balancing failed to find a valid Mailbox Database
If you are in Exchange Server 2013 and when you create a new Mailbox, you may get an error as Error: Load Balancing failed to find a valid Mailbox Database as shown below
Below are the options that you need to check to resolve the issue.
- Check whether all the Exchange Server related services are running on the Server. You can use the Shell command Test-ServiceHealth –Server ServerName to check that.
- Check whether the Mailbox Databases in your Exchange Server 2013 are
mounted. If you install the Exchange Server 2013 for the first time,
all the Exchange 2013 related services will run, but the mailbox
database may be in dismounted state. Mount the database and check the
status. You can use the Get-MailboxDatabase –Status | FT Name, Mounted to confirm the database mount status - If Exchange related services and the Mailbox Databases are in
mounted state, then you may need to consider to manually specify the
mounted mailbox database as shown below
Let us know if any details needed on this error message.