sexta-feira, 6 de fevereiro de 2015

SharePoint: User Profile Synchronization - Redifinir a base SyncDB



As vezes, o serviço da sincronização dos perfil de usuários não inicia corretamente, está parado com o estado "starting" ou simplesmente permanece no estado "stale". Por isso, a maioria das pessoas recria o serviço inteiro a fim de normalizar o sincronização.

O serviço utiliza o banco de dados SyncDB como um banco de dados de estágio que serve como uma área de preparação das informações dos perfis de usuários. O banco contém informações sobre os mapeamentos dos atributos bem como também a configuração da conexão da sincronização.

A recriação do serviço utilizando os bancos antigos não garante a resolução desses problemas, visto que a origem, na maioria das vezes é uma informação inconsistente no banco SyncDB.

Por exemplo o seguinte evento que ocorreu no mapeamento da propriedade "Picture" (direção import):

1.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Log Name:      Application
Source:        FIMSynchronizationService
Date:          03/02/2015 11:18:46
Event ID:      6309
Task Category: Server
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      abc.contoso.com
Description:
The server encountered an unexpected error while performing an operation for a management agent.

 "BAIL: MMS(14148): cdext.cpp(412): 0x80070057 (The parameter is incorrect.): Invalid element: MAConfig [...]
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


2.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Log Name:      Application
Source:        Forefront Identity Manager
Date:          03/02/2015 11:18:46
Event ID:      3
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      abc.contoso.com
Description:
Microsoft.ResourceManagement.ResourceManagementException: Exception from HRESULT: 0x80230516 ---> System.Runtime.InteropServices.COMException (0x80230516): Exception from HRESULT: 0x80230516
   at MIISRCW.IMMSManagementAgent.ModifyMAData(String pszMADataXML, String& ppszUpdatedXML) [...]
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Nesses caso podemos executar um "reset" do banco e recuperar a configuração padrão. Os seguintes passos mostram como você deve prosseguir:

Obs.: O usuário que executa esses passos deve ser administrador local e do SharePoint (Farm Administrator).

1. Anote as configuração da sincronização e dos mapeamentos das propriedades dos usuários.

2. Desabilite o timer job "My Site cleanup timer job" se for configurado.

3. Desabilite o serviço "User Profile Synchronization Service" por meio do seguinte comando:

Get-SPServiceInstance | ? {$_.typename -eq "User Profile Synchronization Service" | Stop-SPServiceInstance

4. Execute o reset no base de dados SncDB:

net stop sptimerv4
## Identifique o ID a partir do comando Get-SPDatabase
$syncdb=Get-SPDatabase <GUID>
$syncdb.Unprovision()
$syncdb.Status='Offline'
## Identifique o ID a partir do comando Get-SPServiceApplication
$upa=Get-SPServiceApplication <GUID>
$upa.ResetSynchronizationMachine()
$upa.ResetSynchronizationDatabase()
$syncdb.Provision()
net start sptimerv4

5. Inicie o serviço "User Profile Synchronization Service" por meio do seguinte comando:

Get-SPServiceInstance | ? {$_.typename -eq "User Profile Synchronization Service" | Start-SPServiceInstance

SharePoint - User Profile Synchronization parado no estado "Starting"

[]

Nenhum comentário:

Postar um comentário