Resolving Errors Code & Data Migration

CRM error handling and resolution process could be characterized by 3 levels of "Troubleshooting": extracting logs, tracking SQL Server queries, and finally, decompiling the D365 platform's native code source.
Status: Completed Read year: 2025
Troubleshooting Code in Data Migration - image generated by Copilot AI
Troubleshooting Code in Data Migration - image generated by Copilot AI
Troubleshooting is a systematic approach to problem solving that could used to find and resolve problems related to asynchronous and synchronous CRM services. The first step is to collect information related to the problem, such as undesirable behavior, a lack of expected functionality, or a crash in functionality related to the triggering of services (synchronous and asynchronous) that rely on CRM service contracts (Create Request, Update Request, SetState Request, etc.), etc. - page 7.

Purpose

The whitepaper provides a practical methodology for resolving CRM errors during data migration from Dynamics CRM 2011 on-premise to Dynamics 365 on-premise. It focuses on troubleshooting both generic and specific errors to ensure a successful migration.


Key Points

  • Migration Context: Migration involves four phases—technical requirements, data preparation, data transfer, and finalization.
  • Common Errors:
    • Generic: “An unexpected error has occurred.”
    • Specific:
      • RoleService::VerifyCallerPrivileges failed
      • Can't add members to the default business unit team
  • Error Sources: Mostly linked to the CRM security model (System User, Team, Business Unit, Role, Privilege).

Troubleshooting Approach

  • Three Levels:
    1. Logs: CRM platform logs, Event Viewer, CRM Trace.
    2. SQL Tracking: Use SQL Profiler to capture queries and stored procedures.
    3. Code Analysis: Decompile .NET libraries (e.g., Microsoft.Crm.ObjectModel) using tools like JetBrains dotPeek.
  • Tools: CRM Trace, Event Viewer, SQL Profiler, .NET decompiler.
  • Steps: Start with logs → enable tracing → analyze SQL queries → inspect SDK code.

Resolution Strategies

  • Generic Errors: Identify error codes, cross-check with SDK (ErrorCodes class), and trace execution flow.
  • Specific Errors:
    • VerifyCallerPrivileges: Analyze RoleServiceInternal and related SQL procedures.
    • Default Business Unit Team: Check TeamServiceInternal and privilege validation logic.
The AI workspace that works for you. | Notion
A tool that connects everyday work into one space. It gives you and your teams AI tools—search, writing, note-taking—inside an all-in-one, flexible workspace.

See my knowledge base !