Hay que darle permiso de Retrieve People Data for Search Crawlers a la cuenta que ejecuta el Crawl

Acto 1: Al ver los resultados de búsqueda notas que las imagines de las personas no se ven sin embargo en el My Site si

 

Acto 2: Encuentras en el Log del Crawl errores relacionados con Access denied y con el User Profile

 

¿Cómo se llamó la obra?

Hay que darle permiso “Retrieve People Data for Search Crawlers” a la cuenta que ejecuta el Crawl

 

Y después de un incremental crawl el resultado fue:

 

 

 

 

Originalmente publicado en msmvps.com

Una razón mas por la cual no inicializa la aplicación de servicio de perfiles de usuario de SharePoint 2010

Cada vez que la aplicación de servicio de perfiles de usuario de SharePoint 2010 se detiene borra algunos valores del registro de Windows relacionados con el servicio de sincronización del Forefront Identity Manager “FIM”. El valor de registro se llama “SQLInstance” y se ubica aquí HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesFIMSynchronizationServiceParameters. Si esto no te ha sucedido es porque probablemente tu implementación de SharePoint utiliza la instancia Default del servidor SQL la cual es el nombre del servidor como tal, en mi caso yo utilizo una instancia específica distinta a la Default ejemplo “abc” entonces mi servidor e instancia serian “XYZabc”.

Esto fue lo que me encontré en los ULS logs:

UserProfileApplication.SynchronizeMIIS: End setup for ‘Intranet User Profile’.
SetupSynchronizationService :: Sync DB failover Check :: databaseServerMiis = sql_alias
SetupSynchronizationService :: Sync DB failover Check :: originalSyncConnectionString = Data Source=sql_alias;Initial Catalog=XYZ_XYZ_Intranet_UserProfile_Sync;Integrated Security=True;Enlist=False;Connect Timeout=15
SetupSynchronizationService :: Sync DB failover Check:: originalSyncConnectionDataSource = sql_alias
SetupSynchronizationService :: Sync DB failover Check :: new datasource string on connection object = sql_alias
UserProfileApplication.SynchronizeMIIS: Begin setup for ‘Intranet User Profile’.
ILMPostSetupConfiguration: ILM Configuration: Validating installation of SQL Service.
ILM Configuration: Error ‘ERR_SERVICE_NOT_INSTALLED’.
ERROR ILMPostSetupConfiguration: ILM Configuration: Validating installation of SQL Service FAILED …
ILM Configuration: Validating account.
ILM Configuration: Validating the system groups…
ILM Configuration: Error ‘ERR_INVALID_GROUPS’.
UserProfileApplication.SynchronizeMIIS: Failed to configure MIIS pre database, will attempt during next rerun. Exception: System.Configuration.ConfigurationErrorsException: ERR_INVALID_GROUPS at Microsoft.Office.Server.UserProfiles.Synchronization.ILMPostSetupConfiguration.ValidateConfigurationResult(UInt32 result) at Microsoft.Office.Server.UserProfiles.Synchronization.ILMPostSetupConfiguration.ConfigureMiisStage1() at Microsoft.Office.Server.Administration.UserProfileApplication.SetupSynchronizationService(ProfileSynchronizationServiceInstance profileSyncInstance). UserProfileApplication.SynchronizeMIIS: End setup for ‘Intranet User Profile’.

Después de leer un poco en internet encontré esto y pude ver que el valor de registro SQLInstance estaba vacío por ende no se podía conectar como lo dice las entradas del log.

 

Así que con solo cambiar esa llave estaría solucionado el problema pero tendríamos que asegurarnos que cuando se detenga e inicialice de nuevo la aplicación de servicio de perfiles de usuario tengamos que ir al servidor a establecer este valor una vez más y manualmente, cosa que sinceramente no es lo mejor.

En mi caso muy particular y espero el de muchos también, tengo un SQL Alias que apunta a mi servidor de base de datos, lo que hice fue editar el SQL Alias para que contenga el nombre de la instancia.

 

De nuevo al inicializar el servicio de perfiles todo funciono a la perfección y mi registro de Windows no tuvo ni tendrá que ser tocado por nadie.

Originalmente publicado en msmvps.com