У меня в сети установлена 32-битная CRM 4.0 с установленным SQL 2008 SP3.
Я установил новый 64-битный сервер CRM 2011 с 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 ---
Может ли кто-нибудь помочь мне с этой ошибкой?
Оказывается, что один из разработчиков имел доступ к установке CRM в базе данных и играл с таблицами там, была дублирующаяся запись для одного из правил безопасности в CRM, удаляющая эту запись из базы данных, которую мы были возможность продолжить процесс миграции.