As previously published, the August Cumulative Update generates some issues; one with existing user profile SA.

The solution proposed is the following:

  • Stop all user profile services from the Central Administraion
    • User Profile Service
    • User Profile Synchronization Service
  • Delete the user profile SA from the Central Administration; don’t delete associated databases

image

  • Launch the SQL Management Studio, connect to the SQL server which is hosting SharePoint databases and delete only the SYNC database used by the user profile SA deleted (by default called Sync DB)
  • Open the registry to clean registry keys used by FIM (see http://blog.hametbenoit.info/Lists/Posts/Post.aspx?ID=50 for registry keys details)
  • Restart your server
  • Create a new user profile SA. Reuse ‘old’ profile and social database (which was not deleted) and then start again the user profile services from the Central Administration and do an IISRESET
  • Everything should go fine now

I still have a pending issue with the search results with no document returned; work is in progress

 

NOTE

  • in case of you have the following event, restart once again your server

Log Name:      Application
Source:        Forefront Identity Manager
Date:          13/10/2010 19:25:12
Event ID:      3
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:     
Description:
The description for Event ID 3 from source Forefront Identity Manager cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

Microsoft.ResourceManagement.Service: System.ArgumentException: Unable to open database connection
Parameter name: connectionString —> System.Transactions.TransactionManagerCommunicationException: Communication with the underlying transaction manager has failed. —> System.Runtime.InteropServices.COMException (0x8004D02B): The MSDTC transaction manager was unable to pull the transaction from the source transaction manager due to communication problems. Possible causes are: a firewall is present and it doesn’t have an exception for the MSDTC process, the two machines cannot find each other by their NetBIOS names, or the support for network transactions is not enabled for one of the two transaction managers. (Exception from HRESULT: 0x8004D02B)
   at System.Transactions.Oletx.IDtcProxyShimFactory.ReceiveTransaction(UInt32 propgationTokenSize, Byte[] propgationToken, IntPtr managedIdentifier, Guid& transactionIdentifier, OletxTransactionIsolationLevel& isolationLevel, ITransactionShim& transactionShim)
   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
   — End of inner exception stack trace —
   at System.Transactions.TransactionInterop.GetOletxTransactionFromTransmitterPropigationToken(Byte[] propagationToken)
   at System.Transactions.TransactionStatePSPEOperation.PSPEPromote(InternalTransaction tx)
   at System.Transactions.TransactionStateDelegatedBase.EnterState(InternalTransaction tx)
   at System.Transactions.EnlistableStates.Promote(InternalTransaction tx)
   at System.Transactions.Transaction.Promote()
   at System.Transactions.TransactionInterop.ConvertToOletxTransaction(Transaction transaction)
   at System.Transactions.TransactionInterop.GetExportCookie(Transaction transaction, Byte[] whereabouts)
   at System.Data.SqlClient.SqlInternalConnection.GetTransactionCookie(Transaction transaction, Byte[] whereAbouts)
   at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx)
   at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at System.Workflow.Runtime.Hosting.DbResourceAllocator.OpenNewConnection(Boolean disallowEnlist)
   at System.Workflow.Runtime.Hosting.DbResourceAllocator.Init(String connectionStr)
   — End of inner exception stack trace —
   at Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.ActivateHost(ResourceManagementWorkflowDefinition workflowDefinition)
   at Microsoft.ResourceManagement.Workflow.Hosting.WorkflowManager.StartWorkflowInstance(Guid workflowInstanceIdentifier, KeyValuePair`2[] additionalParameters)

 

  • in case of the User Profile Synchronization Service stays in a starting mode, redo the detailed operations and execute the following CMDlets:
    • get-SPServiceInstance | where {$_.TypeName -like "User*”}
    • you should get 2 lines results with one with the information ‘provisionning’; copy the related GUID and then execute the following CMDlet stop-Spserviceinstance <copied GUID>
    • Redo the detailed operations