Dynamics CRM 2011 从不同区域导入组织时出现 SQLException 失败

Dynamics CRM 2011 从不同区域导入组织时出现 SQLException 失败

当我尝试导入现有组织(来自客户的 Window Domain,而不是我们的)时,我遇到了 Dynamics CRM 2011 问题。

设置

两台服务器。

  • 一个 Windows Server 2008 R2 x64 标准版(语言环境 fr-FR),用于前端、WebApp 和所有
  • 一个 Windows Server 2008 R2 x64 Enterprise(区域设置 fr-FR),带有 SQL Server 2008 R2 Enterprise Edition(区域设置 fr-FR),用于数据和报告层

导入的组织来自在同一 Windows 2008 Server(区域设置 en-US)上同时安装数据层和应用层

Web 层为 v5.0.9688.1045,数据层为 v.5.0.9688.1155(更新汇总 2)

错误

数据库被识别为动态 CRM 数据库,用户映射继续,导入过程完成大部分工作。大部分工作都是因为它似乎在最后一刻失败了。

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.

感谢 unlocalize.com:SQLException:登录名已有一个使用不同用户名的帐户。

 à 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)

我已经尝试过但没有效果

  • 通过谷歌搜索解决方案。
  • 停用并删除启动数据库。
  • 将外部域 AD 用户映射到全新的本地域 AD 用户上。

提前感谢帮助

编辑1:添加了区域设置信息,并更正了一些不准确的设置信息

答案1

我刚刚打电话给 Microsoft 支持,在他们的帮助下我解决了这个问题。

错误 :

此处的问题是本地化问题。我的 fr-FR Dynamic CRM Install 尝试在导入的数据库中添加一个名为“AUTORITE NT\SERVICE RESEAU”的 SQL 用户,而“NT AUTHORITY\NETWORK SERVICE”用户已经存在。两者实际上是同一个登录帐户,这就是我遇到此问题的原因。

解决方案:

这里的罪犯是“NT AUTHORITY\NETWORK SERVICE”或其本地化名称

在要导入的数据库中

  • 删除有问题的架构
  • 删除违规用户
  • 再次导入。它应该可以工作。

相关内容