在从沙盒到生产的解决方案中部署业务部门和安全模型

Deploying Business Units and Security Model within Solution from Sandbox to Prod

我正在开发一个 Dynamics 365 项目 (v9.1),该项目有几个使用沙箱的组织环境,例如 DEV,然后是其他几个,例如 QA 等,最后是 PROD。

我听说对业务部门的任何安全角色更改都必须在每个环境中手动执行。

有人告诉我这样做的原因是,当创建环境时,默认父业务单位名称由 Dynamics 365 默认唯一生成,这导致每个环境都有不同的父业务单位 GUID,这对子业务部门、团队等产生不利影响,因此每个环境的安全模型必须在每个环境中手动完成。

我是 Dynamics 365 的新手,但 Dynamics 365 要求我在每个环境中手动进行安全更改(而不是将它们封装在 DEV 的解决方案中)这一点在直觉上似乎不太正确。

我的问题是:

  1. 为什么沙盒默认父业务单位 GUID 与 PROD 不同?
  2. 什么是正确的方法,这样我只需要在 DEV 沙箱上更改业务部门、团队和安全角色,然后 export/deploy 作为解决方案上链到 PROD?

这是真的,因为业务部门是一个实体记录,并且在为组织提供与组织名称相同的名称时创建默认父 BU。

  • Maintain the business unit hierarchy in the target system as the same as the source system
  • Retain the same business unit ID (GUID) values in the target system as the source (except the root business unit)

The root business unit is an exception of the above objectives, since it is automatically created at the time when CRM organization was provisioned. Once the root business unit is created, there is no way to change the ID (GUID) value of it primary key (businessunitid field). In other words, the root business units would always have different ID for two different CRM organizations.

应该通过 BU Migration using Kingswaysoft 技术等初始部署策略来解决。

如果是内部部署,请复制生产数据库并使用 Deployment Manager 创建较低区域的实例。

如果是在线CRM,我们可以做一次PROD刷新,Full refresh (Schema + Data)最好一次。稍后 Schema 仅在需要时刷新。

通过这种方式,我们可以确保较低区域的更改(具有角色的解决方案、自定义等)可以移动到 QA/PROD,而不必担心非同步环境。

BU,Teams 无法作为解决方案的一部分移植,因为它们是 table 记录,使用数据迁移实用程序或使用 CSV 格式的具有相同 GUID 的 Export/Import 都可以。