![将 CRM 4.0 迁移到 CRM 2011 时出错](https://linux22.com/image/565483/%E5%B0%86%20CRM%204.0%20%E8%BF%81%E7%A7%BB%E5%88%B0%20CRM%202011%20%E6%97%B6%E5%87%BA%E9%94%99.png)
我的网络中有一个 32 位 CRM 4.0,上面安装了 SQL 2008 SP3。
我在我的网络上安装了新的 CRM 2011 64 位服务器,其中装有 SQL 2008 R2 SP1,并带有报告扩展和更新汇总 5。
在 4.0 服务器上,我创建了 CRM 组织数据库的备份(仅此而已,没有使用 MSCRM_CONFIG)并将其还原到 2011 服务器。
使用部署管理器,我禁用了 CRM 2011 附带的现有组织,并尝试导入恢复的 4.0 数据库,导入过程大约需要 30 分钟,通知栏全部显示到最后,失败并出现以下错误:
17:55:00| Info| Setting organization state. New state = Failed
17:55:00| Error| Upgrade Organization with Id=00df99ad-612d-4d30-80dc-40cb2aa60934 failed with Exception:
System.Exception: Action Microsoft.Crm.Tools.Admin.UpgradeNewSolutionAwareEntities failed. ---> Microsoft.Crm.CrmException: There should only be one role for a role template in root business. TemplateId d9d602db-2761-4170-877f-983494567c08
at Microsoft.Crm.ObjectModel.SolutionsUpgrade.RoleSolutionUpgrader.GetRoleForTemplate(Guid templateId, ExecutionContext context)
at Microsoft.Crm.ObjectModel.SolutionsUpgrade.RoleSolutionUpgrader.Upgrade(ExecutionContext context)
at Microsoft.Crm.Tools.Admin.UpgradeNewSolutionAwareEntities.Do(IDictionary parameters)
at Microsoft.Crm.Setup.Common.CrmAction.ExecuteAction(CrmAction action, IDictionary parameters, Boolean undo)
--- End of inner exception stack trace ---
有人能帮我解决这个错误吗?
答案1
事实证明,其中一名开发人员曾经有权访问 CRM 的 DB 安装,并曾经使用过其中的表格,CRM 中的一条安全规则有重复的条目,从数据库中删除该条目后,我们就可以继续迁移过程。