Office 365 Migration Health Checks
A successful Microsoft 365 migration is measured by more than the completion of mailbox transfers. Administrators must verify that users can access their data, mail flow functions correctly, permissions remain intact, and Microsoft 365 services continue operating as expected. Whether using the EdbMails Office 365 Migration Tool or another migration solution, performing a comprehensive migration health check helps identify configuration issues before they affect end users and confirms that the migration meets operational requirements.
Migration validation should be performed throughout the project rather than after all migration batches have finished. Health checks before migration help identify configuration issues, monitoring during migration highlights synchronization or transfer problems, and post-migration verification confirms that mailboxes and Microsoft 365 services function correctly. Following this phased validation approach reduces downtime, minimizes support requests, and improves overall migration reliability.
Why Migration Health Checks Are Important
A structured migration health check reduces the risk of data inconsistencies, authentication failures, and service interruptions. Even when a migration batch reports success, administrators should independently verify mailbox content, permissions, mail routing, and user access before considering the migration complete.
Microsoft recommends validating both the migration process and the Microsoft 365 environment to ensure that configuration changes do not introduce operational issues. Early detection of problems allows administrators to resolve them before users begin reporting missing data or connectivity issues.
Common objectives of migration health checks include:
- Confirm mailbox data was migrated successfully.
- Verify Exchange Online configuration.
- Ensure Azure AD identities are synchronized correctly.
- Validate inbound and outbound mail flow.
- Confirm DNS records resolve to Microsoft 365 services.
- Review migration reports for skipped or failed items.
- Test user authentication and Outlook connectivity.
- Validate mailbox permissions and shared resources.
- Monitor Microsoft 365 service health during migration activities.
Health checks should also become part of standard migration documentation. Recording validation results for each migration batch provides an audit trail and simplifies troubleshooting if issues are discovered later.
Pre-Migration Health Checks
Preparing the Microsoft 365 environment before migrating data significantly reduces the likelihood of migration failures. A comprehensive migration health check should confirm that both the source and destination environments meet Microsoft's recommended requirements.
Verify Microsoft 365 Tenant Readiness
Confirm that the Microsoft 365 tenant is fully configured before creating migration batches. Administrators should verify:
- Accepted domains
- User accounts
- Exchange Online provisioning
- Required subscriptions
- Administrative roles
- Security policies
Any incomplete tenant configuration can delay mailbox provisioning or prevent users from accessing services after migration.
Validate Exchange Online Configuration
Review Exchange Online settings in the Exchange Admin Center to ensure the environment is ready to receive migrated mailboxes. Validate:
- Mailbox provisioning status
- Accepted domains
- Email address policies
- Mail flow connectors
- Transport rules
- Remote domains
Misconfigured transport settings may interrupt email delivery after migration.
Confirm Azure AD Synchronization
Organizations using hybrid identity should verify that Azure AD Connect synchronization is healthy before migration begins.
Important checks include:
- Successful synchronization cycles
- User object consistency
- Group synchronization
- Password hash synchronization or pass-through authentication
- Matching User Principal Names (UPNs)
Synchronization errors can prevent users from signing in or accessing migrated mailboxes.
Test Mail Flow
Mail routing should be validated before moving production users.
Administrators should:
- Send internal test messages.
- Send messages to external recipients.
- Verify inbound email delivery.
- Confirm outbound SMTP routing.
- Check message trace results if delivery problems occur.
Testing mail flow before migration establishes a baseline for comparison during later validation.
Verify DNS Configuration
Incorrect DNS settings are a common source of migration issues. Validate that all required records are configured correctly, including:
- MX records
- Autodiscover
- SPF
- DKIM (if enabled)
- DMARC (where implemented)
Administrators should also confirm that DNS changes have propagated before redirecting production mail flow.
Validate Licensing
Before mailbox migration begins, verify that users have the required Microsoft 365 licenses assigned.
Review:
- Exchange Online licensing
- Microsoft Teams licensing
- OneDrive licensing
- Archive mailbox availability
- Shared mailbox licensing requirements, where applicable
Licensing issues may prevent mailbox creation or restrict access to Microsoft 365 services after migration.
Review Mailbox Permissions
Mailbox permissions should be documented before migration to simplify post-migration validation.
Review permissions such as:
- Full Access
- Send As
- Send on Behalf
- Calendar delegation
- Folder permissions
- Shared mailbox access
Exporting permission assignments before migration provides a useful reference if discrepancies are identified later.
Validate Authentication
Authentication should be tested using representative user accounts before migrating production workloads.
Confirm:
- Multi-factor authentication policies
- Conditional Access rules
- Legacy authentication restrictions
- Single Sign-On functionality
- Password synchronization
Testing multiple account types helps identify policy-related access issues that may not appear during administrative testing.
Assess Network Bandwidth
Migration performance depends heavily on available network capacity.
Administrators should evaluate:
- Internet bandwidth
- Latency to Microsoft 365 services
- Firewall inspection policies
- Proxy configuration
- VPN routing, if applicable
Where possible, schedule large migration batches during periods of lower network utilization to reduce congestion.
Review Microsoft 365 Service Health
Before initiating mailbox migration, review the Microsoft 365 Service Health Dashboard for active incidents affecting Exchange Online, Azure AD, or related services.
Migrating during an ongoing Microsoft service incident can increase synchronization delays or cause unexpected migration failures.
Check Storage Availability
Confirm that destination mailboxes have sufficient capacity to receive migrated content.
Review:
- Mailbox quotas
- Online archive availability
- Storage allocation policies
- Large mailbox sizes
- Attachment limits
- Message size limits
Planning for storage requirements in advance reduces the likelihood of migration interruptions caused by quota restrictions.
Administrator Tip
Create a documented pre-migration validation checklist and complete it before each migration wave. Even if earlier batches were successful, environment changes such as licensing updates, DNS modifications, Conditional Access policies, or service incidents can introduce new risks. Repeating these health checks for every migration phase helps maintain consistency and reduces the chance of unexpected issues.
During Migration Validation
Migration monitoring should continue throughout every migration batch rather than waiting until all mailbox moves are complete. Continuous validation helps administrators detect transfer issues early, allowing corrective actions before they affect larger groups of users. A structured migration health check during this phase focuses on migration progress, synchronization accuracy, mailbox statistics, and Microsoft 365 service behavior.
Monitor Migration Batches
Migration batches should be reviewed regularly using migration reports to identify mailboxes that require attention
Administrators should verify:
- Batch status
- Number of completed mailboxes
- Mailboxes currently syncing
- Pending migrations
- Failed migrations
Unexpected delays or a high number of failed mailboxes often indicate authentication, network, or service-related issues that should be investigated before additional batches are started.
Validate Synchronization Progress
Many migration projects rely on incremental synchronization before the final cutover. Administrators should confirm that recent mailbox changes continue to synchronize successfully.
Key validation checks include:
- Newly received emails appear in the destination mailbox.
- Calendar updates synchronize correctly.
- Contact changes are replicated.
- Folder hierarchy remains unchanged.
- Incremental synchronization completes without errors.
If synchronization stalls, review migration logs to identify whether the issue is related to authentication, network connectivity, or Microsoft 365 service availability.
Review Mailbox Statistics
Mailbox statistics help verify that migrated data closely matches the source environment.
Useful comparisons include:
- Mailbox size
- Item count
- Folder count
- Archive mailbox size
- Deleted item totals
Minor differences may occur because of ongoing mailbox activity during migration, but significant discrepancies should be investigated before completing the migration batch.
Administrators can also use Exchange Online PowerShell to review mailbox statistics and confirm that migrated mailboxes have been provisioned successfully.
Review Skipped and Failed Items
Migration reports should be examined after each batch instead of only reviewing overall success rates.
Common skipped or failed items include:
- Corrupted messages
- Unsupported message formats
- Oversized attachments
- Permission-protected items
- Calendar inconsistencies
Each skipped item should be reviewed to determine whether remediation is required or whether the item can be safely excluded from the migration.
Monitor Throttling
Microsoft 365 applies service throttling to protect Exchange Online resources during high-volume operations.
Symptoms of throttling include:
- Reduced migration speed
- Temporary synchronization pauses
- Retry attempts
- Delayed batch completion
When throttling occurs, avoid creating unnecessary parallel migration batches. Instead, allow the migration process to continue using its built-in retry mechanisms or adjust batch scheduling to reduce resource contention.
Verify Retry Logic
Temporary failures caused by network interruptions or Microsoft 365 service conditions do not always require manual intervention.
Administrators should verify that:
- Failed connections are retried automatically.
- Interrupted mailbox synchronization resumes successfully.
- Temporary authentication failures are resolved after retry attempts.
Persistent retry failures should be investigated by reviewing detailed migration reports and Exchange Online diagnostic information.
Monitor Migration Reports
Migration reports provide detailed information about mailbox processing and should be reviewed throughout the migration.
Important details include:
- Successful mailbox transfers
- Warning messages
- Failed items
- Processing duration
- Synchronization history
- Error codes
Maintaining copies of migration reports can assist with post-migration audits and future troubleshooting.
Understand Microsoft Service Limits
Administrators should remain aware of Microsoft 365 service limits that may influence migration performance.
Examples include:
- Exchange Online throttling policies
- Mailbox size limitations
- Message size restrictions
- API request limits
- Concurrent migration limitations
Planning migration batches around these limits helps reduce delays and minimizes unexpected interruptions during large-scale migrations.
Post-Migration Health Checks
Completing mailbox migration does not guarantee that users can immediately work without interruption. A comprehensive migration health check after migration verifies that user data, permissions, connectivity, and Microsoft 365 services function as expected before the migration project is considered complete.
Validate Mailbox Content
Begin by confirming that mailbox content has been migrated accurately.
Verify:
- Inbox folders
- Sent Items
- Drafts
- Deleted Items
- Custom folders
- Archive mailbox content
Compare mailbox statistics with the source environment to ensure there are no significant differences in mailbox size or item count.
Test Email Delivery
Mail flow should be validated after DNS changes and mailbox activation.
Perform tests for:
- Internal email delivery
- External email delivery
- Replies
- Forwarding rules
- Distribution list delivery
Use message tracing when emails are delayed or routed unexpectedly.
Verify Calendar and Contacts
Calendars and contacts are critical business resources that should be validated carefully.
Confirm:
- Calendar appointments
- Recurring meetings
- Meeting organizer information
- Shared calendars
- Personal contacts
- Contact groups
Missing calendar data or incorrect meeting ownership should be investigated promptly to avoid user disruption.
Validate Mailbox Permissions
Mailbox permissions should match the configuration documented before migration.
Review:
- Full Access permissions
- Send As permissions
- Send on Behalf permissions
- Folder permissions
- Delegate access
Testing access with representative user accounts helps verify that permission inheritance has been preserved.
Check Shared Mailboxes and Public Folders
Organizations using shared mailboxes or public folders should confirm that:
- Shared mailboxes open correctly.
- Folder permissions remain intact.
- Public folder hierarchy is complete.
- Public folder content is accessible.
- Users can send emails from shared mailboxes where permitted.
Verify Distribution Groups
Distribution groups should be tested after migration to confirm:
- Membership accuracy
- Email delivery
- Nested group functionality
- Group ownership
- External sender permissions where applicable
Any synchronization issues involving Azure AD should also be resolved before production use.
Validate Outlook Profiles and Autodiscover
Outlook connectivity should be verified on multiple client devices.
Check that:
- Outlook connects to Exchange Online.
- Autodiscover resolves correctly.
- New Outlook profiles configure automatically.
- Cached mode synchronizes successfully.
- Offline address books download normally.
Incorrect Autodiscover configuration or outdated DNS records can prevent Outlook from connecting to migrated mailboxes.
Verify Mobile Device Connectivity
Mobile users should be able to access their mailboxes without requiring extensive reconfiguration.
Test:
- Exchange ActiveSync connections
- Outlook mobile app access
- Calendar synchronization
- Contact synchronization
- Push notifications
Any mobile device policies should also be validated after migration.
Validate Teams and OneDrive Integration
Where Microsoft Teams and OneDrive are part of the Microsoft 365 deployment, administrators should confirm that related services continue to function correctly.
Verify:
- Teams sign-in
- Calendar integration with Outlook
- Meeting scheduling
- OneDrive file access
- File sharing permissions
- Microsoft 365 user licensing
Identity synchronization issues may affect multiple Microsoft 365 workloads beyond Exchange Online.
Perform User Acceptance Testing (UAT)
Before declaring the migration complete, involve a representative group of users in structured testing.
Typical user acceptance checks include:
- Sending and receiving email
- Opening shared mailboxes
- Accessing calendars
- Searching mailbox content
- Creating meetings
- Using Outlook on desktop and mobile devices
- Accessing Microsoft 365 applications with the same account
EdbMails recommends documenting validation results for each migration batch, including mailbox verification, user acceptance outcomes, and any corrective actions taken. Maintaining this record provides a clear audit trail and simplifies future troubleshooting or compliance reviews.
Common Migration Health Issues
Even with careful planning, administrators may encounter issues during or after mailbox migration. Performing a thorough migration health check helps identify these problems early and confirms whether corrective action is required before users are fully transitioned to Microsoft 365.
1. Missing Emails
Possible causes:
- Incomplete synchronization
- Skipped migration items
- Mail flow changes during migration
- Corrupted source mailbox items
Validation methods:
- Compare mailbox statistics between the source and destination.
- Review migration reports for skipped or failed items.
- Verify that incremental synchronization completed successfully.
- Perform folder-level checks for critical mailboxes.
2. Duplicate Mailbox Items
Possible causes:
- Multiple migration attempts
- Interrupted synchronization followed by retries
- Overlapping migration batches
Validation methods:
- Review migration history for repeated mailbox processing.
- Compare message counts before and after migration.
- Confirm that duplicate detection settings were applied where supported.
3. Incorrect Mailbox Permissions
Possible causes:
- Incomplete permission migration
- Directory synchronization inconsistencies
- Manual configuration changes after migration
Validation methods:
- Compare exported permission assignments with the current Exchange Online configuration.
- Test Full Access, Send As, and Send on Behalf permissions using representative user accounts.
- Verify shared mailbox access from Outlook and Outlook on the web.
4. Failed Migration Batches
Possible causes:
- Authentication failures
- Network interruptions
- Exchange Online connectivity issues
- Temporary Microsoft 365 service incidents
Validation methods:
- Review detailed migration reports.
- Check Exchange Admin Center migration status.
- Retry only the affected mailboxes after resolving the underlying issue.
- Confirm that administrative credentials and permissions remain valid.
5. DNS Propagation Delays
Possible causes:
- Recent MX or Autodiscover record changes
- Cached DNS entries
- Delayed DNS propagation across internet service providers
Validation methods:
- Verify DNS records using trusted lookup tools.
- Confirm that MX and Autodiscover records point to Microsoft 365.
- Perform internal and external mail flow tests after propagation is complete.
6. Azure AD Synchronization Failures
Possible causes:
- Azure AD Connect synchronization errors
- User attribute mismatches
- Duplicate identities
- User Principal Name (UPN) inconsistencies
Validation methods:
- Review synchronization status.
- Check Azure AD Connect health reports.
- Verify that affected users appear correctly in the Microsoft 365 Admin Center.
- Confirm successful sign-in using representative accounts.
7. Microsoft 365 Throttling
Possible causes:
- Large migration batches
- High API activity
- Multiple concurrent mailbox migrations
Validation methods:
- Review migration logs for throttling events.
- Monitor migration throughput.
- Reduce batch size if throttling becomes persistent.
- Allow automatic retry mechanisms to complete before manual intervention.
8. Mailbox Corruption
Possible causes:
- Existing corruption in the source mailbox
- Unsupported mailbox items
- Damaged folders or messages
Validation methods:
- Review migration reports for corrupted items.
- Compare mailbox statistics.
- Validate critical folders manually.
- Remediate or reprocess affected mailboxes where appropriate.
9. Licensing Issues
Possible causes:
- Missing Microsoft 365 licenses
- Incorrect license assignment
- Delayed service provisioning
Validation methods:
- Verify license assignments in the Microsoft 365 Admin Center.
- Confirm Exchange Online mailbox provisioning.
- Check access to dependent services such as Microsoft Teams and OneDrive.
Best Practices for Migration Validation
A successful migration is confirmed through comprehensive validation rather than migration completion alone. Enterprise administrators should follow consistent verification procedures before declaring the project complete.
Recommended best practices include:
- Create and document a migration validation checklist before the project begins.
- Perform health checks before, during, and after every migration batch.
- Validate a pilot group before migrating larger user populations.
- Review migration reports after each batch instead of waiting until the end of the project.
- Compare mailbox statistics between the source and destination environments.
- Test mail flow for both internal and external recipients.
- Verify mailbox permissions, shared mailboxes, public folders, and distribution groups.
- Review the Microsoft 365 Service Health Dashboard before and during migration activities.
- Use Exchange Online PowerShell to validate mailbox configuration and statistics where appropriate.
- Perform structured User Acceptance Testing (UAT) with business users before production sign-off.
- Record validation results, identified issues, and remediation actions for audit and troubleshooting purposes.
- Allow sufficient time for DNS propagation before completing final mail flow validation.
- Continue monitoring Exchange Online and Microsoft 365 services for several days after migration to identify delayed synchronization or user access issues.
Following these practices helps reduce post-migration incidents and provides confidence that the Microsoft 365 environment is operating as expected.
Conclusion
A comprehensive migration health check is an essential part of every Microsoft 365 migration project. Verifying tenant readiness before migration, monitoring synchronization during mailbox transfers, and validating user access after migration helps ensure data integrity, service availability, and a smooth transition for end users.
Administrators should combine Exchange Online validation, Azure AD verification, DNS checks, migration reports, mailbox statistics, and user acceptance testing to confirm that every component of the migration has completed successfully.
Maintaining documented validation records for each migration phase also supports future troubleshooting, compliance reviews, and operational audits.
By following Microsoft's recommended validation practices and applying consistent health checks throughout the migration lifecycle, organizations can minimize migration risks and establish a stable, fully functional Microsoft 365 environment.
