Spoiler / TL DR; The Microsoft Identity Manager Sync Server HResult 0x80040E14 Error is associated with lack of available resources in your Microsoft Identity Manager environment.
Sizing servers for a Microsoft Identity Manager implementation gets easier the more you do it. If it is your first time, start with the Capacity Planning Guide. If you have a large implementation you will want the appropriate Topology. Separation of services definitely helps. But back to the HResult 0x80040E14 Error.
The Error and Problem
Whilst performing a Sync to a connected system you may receive (like I did) the following Synchronization Service Manager Error: Exception from HRESULT: 0x80040E14.
Looking into the Application Event Log there are a bunch of SQL Server errors such as ‘insufficient system memory in resource pool‘.
Looking in the Forefront Identity Manager Event Log we can see that the MIM is having difficulties talking to SQL. No process is on the other end of the pipe.
And then the definitive error that there are connection issues to the MIM Service Database on the SQL Server. Failure to connect to database ‘FIMService’.
Background: in my development environment SQL Server is on the same host as the MIM Sync and MIM Service. Looking at resource usage I can see that the MIM Sync process is using almost 12GB of RAM and the Windows Server itself is at 97% memory utilisation. Yeah that would restrict other services having available memory. Out of memory due to a resource intensive MIM Sync Service.
The Solution
The solution for me was two-fold;
- increase the resources (RAM) on the Server
- optimise the PowerShell Management Agent Import process (on a particular MA) to release memory when it has paged a page of results from the Management Agent through to the Sync Engine.
Adding this to my troubleshooting section on my Microsoft Identity Manager page to make it quick to find next time without having to dig down to the root cause.