This article addresses common errors encountered during Microsoft 365 migrations with CloudM Migrate, providing explanations and actionable solutions.
Understanding Microsoft Throttling and Quotas
Microsoft 365 services—including Microsoft Graph (used for general tasks) and Exchange Web Services (EWS)—implement throttling and quotas to ensure service stability. Throttling is not an error in your configuration, but a limit on how fast data can be moved.
- Microsoft Graph API Limits: Generally capped at 2,000 requests per second.
- Layered Evaluation: Requests are evaluated against multiple limits simultaneously (e.g., per tenant, per user, or per request type). The first limit reached triggers the throttle.
- Tenant Scope: Limits apply to your entire Microsoft 365 organization. High-volume migrations across many users are more likely to hit these thresholds.
Migration Failed: (429) Too Many Requests
The 429 error is a direct result of Microsoft throttling. It means CloudM Migrate is sending requests faster than the tenant allows.
Crucial Distinction by Service
The resolution for a 429 error depends entirely on which Microsoft service is being accessed. Exchange allows for temporary bypasses, whereas SharePoint and Graph do not.
| Service | Throttling Type | Can it be bypassed? |
|---|---|---|
| Exchange Online | EWS Throttling | Yes. Can be relaxed via M365 Admin Portal. |
| SharePoint / OneDrive | SharePoint Throttling | No. Permanent layer; must reduce concurrency. |
| Microsoft Graph | Service Protection | No. Must slow down or batch requests. |
Resolution Steps
- For Exchange (EWS): Follow the Proactive Throttling Prevention guide to request a temporary increase (30, 60, or 90 days) via the M365 Admin Center.
-
For SharePoint/Graph: You may reduce the migration load to stay within Microsoft's limits. Adjust the following in the Service Manager Configuration:
- Maximum User Migrations: Lower the number of entities (users/groups) migrating per Secondary Service simultaneously.
- Maximum Complete Migrations: Reduce the number of overall migration projects or batches running concurrently.
Note: For detailed guidance on balancing these settings, see Strategies for Optimizing Migration Performance and What Affects Migration Speed.
Example: ErrorQuotaExceeded
Error Message:
[2022-10-13 20:09:13.6813] [MailImporter] [Error] [6] [Test@cloudm.com] [] Unexpected exception processing import. Message is: “Destination: Exchange response error. Code: ‘ErrorInternalServerError’. Message: ‘An internal server error occurred. The operation failed.’. InnerErrorResponseCode: ‘ErrorQuotaExceeded’ InnerErrorMessageText: ‘Cannot save changes made to an item to store.’”
- Cause: This specific error often indicates a mailbox folder limit has been reached. Exchange Online has a limitation of 1 million messages per folder.
- Resolution: Users may need to reorganize mailboxes before migration to ensure no single folder exceeds this limit. Note that this is a hard limit imposed by Microsoft.
Other Common Microsoft 365 Errors
Migration Failed: (401) Unauthorized
- Cause: This error typically indicates an issue with administrator permissions or credentials.
-
Resolution:
- Validate Admin Access: Ensure the administrative account used for the migration has full access rights over the users that are failing.
- Check Credentials: Verify that the credentials entered into CloudM Migrate are correct and current.
403 Forbidden Auth Methods Error
- Cause: This error signals a problem with modern authentication or the Azure Application Registration used for the migration.
-
Resolution: You may need to recreate the Azure App Registration using our PowerShell script.
- If this is your Source, follow the Source Connection Setup.
- If this is your Destination, follow the Destination Connection Setup.