This drove me nuts. In spite of deploying User Profile Sync service successfully a million times, once in a while it decides to throw a curve ball. Wouldn’t start.
Did all the usual steps:
Farm account running as local admin on SP server
Farm account have local logon rights (also verified by logging into the server as the farm)
Farm user mapped to DBO for the Sync DB (I'm creating the UPS App as the farm user so this is already done, just for the record if I click on properties for the Sync DB dbo user it shows my farm user under Logon Name)
Attempted to create the UPS via the CA, same issue
Cleared SP cache
Manually starting FIM Sync service (This errors, more on this below)
No warnings or errors logged in the event log as the service is listed as Starting ...
The farm account has Replicating Directory Changes on the whole domain.
My SQL server does not have a named instance. But I tried to make an SQL alias anyway
I discovered the 2012 Native SQL client installed but I removed it when I reinstalled SP2013 so that it relies on the 2008R2 Native SQL client.
Time is in sync on all servers.
Completely removed the UPS Application & Proxy countless times (Probably over 10-15+ times)
Rebooted the server countless times
Added the remote execute permissions and whatnot in the COM+ DTC for MIIS
Windows 2012 R2 with all the latest updates as of October 2014
SharePoint 2013 Sp1
The following messages kept getting recording on Event Viewer:
The Open Procedure for service "WmiApRpl" in DLL "C:\Windows\system32\wbem\wmiaprpl.dll" failed. Performance data for this service will not be available. The first four bytes (DWORD) of the Data section contains the error code.
Performance counters for the FIMSynchronizationService (Forefront Identity Manager Synchronization Service) service are already in the registry, no need to reinstall. This only happens when you install the same counter twice. The second time install will generate this event.
Unable to open the Server service performance object. The first four bytes (DWORD) of the Data section contains the status code.
The issue can be resolved by downloading any of the CU updates from April 2014 CU and running PSConfig. Once the CU has been deployed, go through the usual process of starting User Profile Synchronization Service from Central Admin. The issue arises due to the use of SQL 2014.