Organização de importação do CRM 2011 dinâmica de localidade diferente falha no SQLException

1

UPDATE: Problema solucionado, veja a resposta abaixo.

Estou lutando com um Dynamic CRM 2011, ao tentar importar uma organização existente - proveniente do Windows Domain de um cliente, não da nossa.

A configuração

Dois servidores.

  • Um servidor windows 2008 r2 x64 Padrão (localidade fr-FR) para o front-end, WebApp e todos
  • Um servidor Windows 2008 r2 x64 Enterprise (localidade fr-FR) com edição do SQL Server 2008 R2 Enterprise (localidade fr-FR) para a camada de dados e relatórios

A organização importada veio de uma instalação com nível de dados e nível de aplicativo no mesmo Windows 2008 Server (locale en-US)

A camada da Web está na v5.0.9688.1045, a camada de dados está em v.5.0.9688.1155 (Update Rollup 2)

O erro

O banco de dados é reconhecido como um banco de dados do Dynamic CRM, o mapeamento de usuários continua e o processo de importação faz a maior parte do trabalho. A maior parte porque parece falhar no último momento.

19:42:49|   Info| Performing GrantServiceAccountAccess on SqlServerName dbserverwhere SqlServerMachineName=dbserver, reportServerUrl=http://dbserver/ReportServer
19:42:51|  Error| L’importation de l’organisation (Nom=XXXXX, ID=3d8ee9fb-6c80-e011-a99b-005056bc000a) a échoué avec l’exception :
System.Data.SqlClient.SqlException (0x80131904): L'ouverture de session a déjà un compte sous un nom d'utilisateur différent.

Obrigado a unlocalize.com: SQLException: o login já tem uma conta com um nome de usuário diferente.

 à System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
 à System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
 à System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
 à System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
 à System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
 à System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
 à System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
 à System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
 à Microsoft.Crm.CrmDbConnection.InternalExecuteWithRetry[TResult](Func'1 ExecuteMethod, IDbCommand command)
 à Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command, Boolean capturePerfTrace)
 à Microsoft.Crm.CrmDbConnection.ExecuteNonQuery(IDbCommand command, Boolean impersonate, Boolean capturePerfTrace)
 à Microsoft.Crm.Setup.Database.SharedDatabaseUtility.CreateUser(CrmDbConnection connection, String user, Boolean enableTrace, Boolean deleteExisting)
 à Microsoft.Crm.Setup.Database.DatabaseUtility.CreateUser(InstallDatabase database, String user, Boolean replaceExisting)
 à Microsoft.Crm.Setup.Database.Helpers.GrantCrmReaderAccess(String user, Guid organizationId, Boolean replaceExistingUser)
 à Microsoft.Crm.Setup.Database.Helpers.GrantCrmReaderAccess(String user, Guid organizationId)
 à Microsoft.Crm.Setup.Database.Helpers.GrantCrmReaderAccessToNetworkService(Guid organizationId)
 à Microsoft.Crm.Setup.Server.Utility.SqlUtility.GrantSrsServiceAccountAccess(String sqlMachineName, Uri rsUri, Guid organizationId)
 à Microsoft.Crm.Tools.Admin.GrantCrmDatabaseAccessAction.GrantServiceAccountAccess(Guid organizationId, String sqlServerMachineName, Uri reportingUrl)
 à Microsoft.Crm.Tools.Admin.ImportOrganizationInstaller.Import(Guid organizationId, String organizationUniqueName, String organizationFriendlyName, String sqlServerName, String databaseName, Uri reportServerUrl, ICollection'1 users, MultipleTenancy multipleTenancy, Int32 partitionNumber, Int32 fullTextSearchLocaleId)

O que eu já tentei fazer - mas não funcionou

  • pesquisando na solução.
  • Desativando e excluindo o banco de dados inicial.
  • Mapeamento de usuários do AD de domínio externo em um usuário do AD de domínio local completamente novo.

Agradecemos antecipadamente pela ajuda

EDIT 1 : Adicionadas informações de localidade e corrigidas algumas informações de configuração inexatas

    
por Johan Buret 06.06.2011 / 19:53

1 resposta

4

Acabei de telefonar para o Suporte da Microsoft e, com sua ajuda, consegui resolver esse problema.

O erro:

O problema aqui foi um problema de localização. Minha fr-FR Dynamic CRM Install tentou adicionar um usuário SQL chamado "AUTORITE NT \ SERVICE RESEAU" no banco de dados importado enquanto um usuário "NT AUTHORITY \ NETWORK SERVICE" já existia. Ambos são na verdade a mesma conta de login, é por isso que eu tive esse problema.

A solução:

o infrator aqui é "NT AUTHORITY \ NETWORK SERVICE" ou seu nome localizado

No banco de dados que você deseja importar

  • Excluir esquema incorreto
  • Excluir usuário ofensivo
  • Importe novamente. Deve funcionar.
por 09.06.2011 / 11:31