This morning I went to create a new database on Exchange 2010 server in a client’s new server environment, and when I did it failed to mount due to the following error.
Couldn’t mount the database that you specified. Specified database: EMAIL5DBTEST; Error code: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionNotFound: Unable to mount database. (hr=0x8004010f, ec=-2147221233)
. [Database: EMAIL5DBTEST, Server: EMAIL5.ad.domain.local].
I did a little more digging and found my answer. In my case, the production domain is a child (ad.domain.local) of the empty root domain (domain.local). The AD structure is flat, meaning all of the domains are in a single AD site to allow for continuity and AD replication, so the list of the domain controllers that Exchange 2010 sees are across the parent and root domain.
The easiest way to set Exchange to recognize the domain controller in the child domain is to hard set it inside of Powershell, and Microsoft KB 977960 gives us the quick Powershell on how to do this:
Set-ADServerSettings –PreferredServer core1.ad.domain.local
Not sure why Exchange likes to see the DCs in the root parent domain first over the ones in their own domain. Microsoft need to look into this!