SharePoint 2016 : Issues due to Switching Between Synchronization Types in UPA AD Import / External Identity Manager ( MIM)

Switching between synchronization types in the UPA Sync settings in the SharePoint Central Administration site, causes the upa.DNLookup table to be cleared post which the  Syncs would not run  as expected .  Following issues are seen when you switch between the 2 options

FIMSyncOptions

Switch from Adimport to External Identity Manager ( MIM)  : Running a full Import on the SharePoint Connector instance, results in no objects being discovered / imported.

Switch from External Identity Manager ( MIM)   to  Adminport:  Moss_export Steps Fail with  error similar exception in FIM Client & ULS logs .

 07/14/2016 11:23:04.64 w3wp.exe (0x0F08) 0x0B38 SharePoint Portal Server User Profiles aei60 High Error calling UserProfileADImportFailedItems.Add: System.Data.SqlClient.SqlException (0x80131904): The MERGE statement conflicted with the FOREIGN KEY constraint "FK_ADImportFailedItems_DCId". The conflict occurred in database "Profile DB", table "dbo.ADImportDCMapping", column 'DCId'.  The statement has been terminated.    
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)    
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)    
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)    
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds, Boolean describeParameterEncryptionRequest)    
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)    
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)    
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()    
at Microsoft.Office.Server.Data.SqlSession.ExecuteNonQuery(SqlCommand command, SqlInfoMessageEventHandler handler)    
at Microsoft.Office.Server.Data.SqlSession.ExecuteNonQuery(SqlCommand command)    
at Microsoft.Office.Server.UserProfiles.ADImport.UserProfileADImportFailedItems.Add(UserProfileApplication upa, Guid dcId, Boolean fOUFiltered, Dictionary`2 items, Boolean isMultiTenant)  ClientConnectionId:b1af68aa-db27-4e45-9f7d-592e4ecb7f2a  Error Number:547,State:0,Class:16. 40a28f9d-1786-40f9-0000-0f2d4df29ecb.

If you happen to  switch  from  one Sync type to another , following steps need to be performed to  recover from the situation

 Recovery Steps: All of these steps are done in the MIM Synchronization Service Manager (MIISClient.exe).

Delete the SPMA Connector instance’s connectorspace

  1. Open the MIISClient.exe
  2. Click the Management Agents tab
  3. Click the SPMA management agent/connector to select
  4. From the Actions menu, click Delete
  5. When prompted, choose the option Delete connectorspace only, and click the OK button

Re-populate the SPMA Connector instance’s connectorspace

These steps will cause the upa.DNLookup table to be repopulated, allowing the synchronization solution to continue to synchronize between the Active Directory to SharePoint.

In the Management Agents tab, click the ADMA to select

  1. From the Actions menu, click the Run option
  2. From the Run Management Agent dialog, choose FullSync, then click the OK button
    1. This will provision all objects into the SPMA’s connectorspace
    2. When the Full Sync run is complete, continue to step 4
  3. Click the SPMA to select
  4. From the Actions menu, click the Run option
  5. From the Run Management Agent dialog, choose Export, then click the OK button
    1. When the Export is complete, continue to step 7
  6. Click the SPMA to select
  7. From the Actions menu, click the Run option
  8. From the Run Management Agent dialog, choose DeltaImport, then click the OK  button
    1. When the Delta Import run is complete, continue to step 10
  9. Click the SPMA to select
  10. From the Actions menu, click the Run option
  11. From the Run Management Agent dialog, choose DeltaSync, then click the OK button

 

Post By : Rajan Kapoor [MSFT]