1

将非托管解决方案从 Dynamics CRM 2016 导入到 Dynamics 365 的干净实例时,我收到此错误。没有其他详细信息,因此我不知道哪个特定实体有问题

无法在具有唯一索引“ndx_UniqueDependencyNodes”的对象“dbo.DependencyBase”中插入重复的键行。重复键值为 (b8e82bca-64b2-4b4c-9192-0eb2010de885, a5396ca9-d5fa-4951-ba3f-619bb8fab0b7)。该语句已终止。

有没有人遇到过这个?

Dynamics CRM 2016 版本是 (8.1.0.569) (DB 8.1.0.563)

[更新] CRM 2016 和 Dynamics 365 都是在线实例。

4

2 回答 2

3

这是当前 Dynamics 2016 产品中的一个错误。微软正在研究解决方案。

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 数据库上执行此脚本是不受支持的操作。首先进行数据库备份,使用它需要您自担风险。

于 2017-03-02T13:57:50.763 回答
0

对我来说,问题在于解决方案中包含的 SLA。

我的情况是这样的:

- 在在线 PROD 实例上开发和定制(上线前) - 在一个解决方案中收集所有定制

- 从此 PROD 复制(重新部署)到两个沙箱实例

- 将解决方案从一个沙箱导出到另一个沙箱或返回到 PROD 实例

我通过停用然后从目标系统中删除 SLA 来纠正问题。

从那时起,我的解决方案可以重复导入其中的 SLA,即使目标系统将 SLA 设置为默认和活动状态。

于 2017-08-31T11:42:06.130 回答