Error load balancing failed to find a valid mailbox database

While trying to create new mailbox, the following message is displayed:
  • 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

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.

Free Download for Windows

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.

eschange admin center 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.

click on databases in EAC

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

use get-mailboxdatabase cmdlet

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*

check whether database is locked or not

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

change settings to 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

Stellar Repair for Exchange

Software recommended by MVPs & Administr

Read More

Stellar Toolkit for Exchange

Stellar Toolkit for Exchange

5-in-1 suite of specialized tools, highl

Read More

Stellar Converter for EDB

Stellar Converter for EDB

Stellar Converter for EDB is a professio

Read More

Stellar Converter for OST

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


1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (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.

mailbox error

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

get-mailboxdatabase 1Workaround:
[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’

get-mailboxdatabase 2
Solution:
Verifying the provision
Get-mailboxdatabase | ft name,isexcludedfromprovisioning

get-mailboxdatabase 3
Disabling the isexcludedfromprovisioning
Get-mailboxdatabase | set-mailboxdatabase -isexcludedfromprovisioning $false
Verifying again on creating mailbox

get-mailboxdatabase 4
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….

Author Thomas Harris

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

Author Mike B

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

Author Kelvin D

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

Author Mike B

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.

Понравилась статья? Поделить с друзьями:
  • Error loader couldn t initialize service
  • Error load settings что это
  • Error load settings как исправить ошибку при запуске
  • Error lnk2019 ссылка на неразрешенный внешний символ imp
  • Error lnk2019 ссылка на неразрешенный внешний символ declspec dllimport