"Copying pre-existing data completed with errors. For additional details, go to initial sync details tab."
The error message is confusing and does not reflect the actual issue behind the scene - you will never be able to figured it out what is wrong until you raise it with MS dual-write team and share the activity Id of the job with them to investigate the telemetry (you don't have access to check this one ?) then they share the root cause.
However, You can also investigate by putting a breakpoint in method validateDataSharingEnabledForEntityTableBeforDualWriteEnable() of class SysDataSharingValidation.
/// <summary>
/// Validates that cross company data sharing is not enabled when enabling Dual Write.
/// </summary>
/// <param name = "_entityName">The name of the entity containing the table being enabled</param>
/// <param name = "_tableName">Table in entity</param>
/// <param name = "_dataAreaId">Company info</param>
[SubscribesTo(classStr(BusinessEventsRegistrationBase), staticdelegatestr(BusinessEventsRegistrationBase, onTableEnabled))]
public static voidvalidateDataSharingEnabledForEntityTableBeforDualWriteEnable(str _entityName, str _tableName, DataAreaId _dataAreaId)
{
SysDataSharingOrganization sysDataSharingOrganizationTable;
SysDataSharingRuleEnabledsysDataSharingRuleEnabledTable;
select firstonly SharedTableName from sysDataSharingRuleEnabledTable
wheresysDataSharingRuleEnabledTable.SharedTableName == _tableName
join DataSharingPolicy, DataSharingCompany from sysDataSharingOrganizationTable
where sysDataSharingRuleEnabledTable.DataSharingPolicy == sysDataSharingOrganizationTable.DataSharingPolicy
&& sysDataSharingOrganizationTable.DataSharingCompany == _dataAreaId;
if (sysDataSharingRuleEnabledTable)
{
throwerror(strFmt("@DataSharing:CrossCompanySharingError", _entityName, sysDataSharingOrganizationTable.DataSharingPolicy));
}
}
