Ошибка в dbo.DependencyBase при импорте из Dynamics CRM 2016 в Dynamics 365
Я получаю эту ошибку при импорте неуправляемого решения из Dynamics CRM 2016 в чистый экземпляр Dynamics 365. Других подробностей нет, поэтому я не знаю, у какого конкретного объекта возникла проблема
Невозможно вставить повторяющуюся строку ключа в объект "dbo.DependencyBase" с уникальным индексом "ndx_UniqueDependencyNodes". Значение дублированного ключа (b8e82bca-64b2-4b4c-9192-0eb2010de885, a5396ca9-d5fa-4951-ba3f-619bb8fab0b7). Заявление было прекращено.
Кто-нибудь сталкивался с этим раньше?
Версия Dynamics CRM 2016 (8.1.0.569) (БД 8.1.0.563)
[Обновление] CRM 2016 и Dynamics 365 являются онлайн-экземплярами.
2 ответа
Это ошибка в текущем продукте Dynamics 2016. Microsoft работает над решением.
Процесс импорта решений в CRM может создать несоответствия в базе данных организации, которые могут быть исправлены только с помощью сценариев SQL. Само по себе это не поддерживается и не может быть сделано на Dynamics 365/OnLine.
У меня недавно были похожие проблемы, связанные с CustomControlDefaultConfig
юридическое лицо.
Этот конкретный вопрос, касающийся DependencyBase
Таблица может быть решена с помощью следующего сценария SQL:
delete from
DependencyBase
where
DependencyId in
(
select
d.DependencyId
from
Dependency d
left join CustomControlDefaultConfig dc
on d.DependentComponentObjectId = dc.CustomControlDefaultConfigId
left join CustomControlDefaultConfig rc
on d.RequiredComponentObjectId = rc.CustomControlDefaultConfigId
where
(d.DependentComponentType = 68 and dc.CustomControlDefaultConfigIdUnique is null)
or (d.RequiredComponentType = 68 and rc.CustomControlDefaultConfigIdUnique is null)
);
НОТА
Выполнение этого сценария в базе данных CRM является неподдерживаемым действием. Сначала сделайте резервную копию базы данных и используйте ее на свой страх и риск.
Для меня проблема была с SLA, который был включен в решение.
Моя ситуация была такая:
-Разработка и настройка онлайн-экземпляра PROD (до запуска) - сбор всех настроек в одном решении
-Копировать (повторно развернуть) из этой PROD в два экземпляра песочницы
- Экспортировать решение из одной песочницы в другую или обратно в экземпляр PROD.
Я исправил проблему, деактивировав и удалив SLA из целевой системы.
С тех пор мое решение может быть повторно импортировано с SLA, даже если целевая система имеет SLA по умолчанию и активна.