When migrating mailboxes from Exchange 2013 to Exchange 2016, the following error (A version mismatch) may occur:
“A version mismatch was detected (Actual: 6, Expected: 5)”
The following message appears in the Exchange 2013 server log:
2017-04-23T20: 37: 21.432Z, 6, Default, Error, “,,”, “Register migration batch failed, at exception Microsoft.Exchange.Migration.MigrationServiceHelper.SafeInvokeImplMethod (Action method, MigrationServiceRpcMethodCode method code) at Microsoft.Exchange.Migration .MigrationNotificationRpcSkeleton.RegisterMigrationBatch (IMigrationNotification implementation, MdbefPropertyCollection inputArgs) | A version mismatch which detected (Actual: 6 Expected: 5) |. Microsoft.Exchange.Transport.Sync.Migration.Rpc.MigrationServiceRpcException | The RPC call failed with result, MigrationTransientError ‘| “.
Solution: Migrate the migration mailbox first before migrating other mailboxes:
This problem can be solved; you need to move the migration mailbox Exchange 2013 to Exchange 2016 servers first. The mailbox can be displayed with the following command:
get-mailbox Migration* -Arbitration
In EAC (Exchange Admin Centre) system mailboxes can be easily moved to Exchange 2016 database.
After the mailbox has been moved, users’ mailboxes can be moved. Once the mailbox has been moved to an Exchange 2016 database, the version number is adjusted accordingly:
Get-Mailbox Migration* -Arbitration | ft Name,AdminDisplayVersion
If version 15. 1 is displayed, the mailbox has been moved correctly and the version has been raised. The “version mismatch” error no longer occurs when moving user mailboxes.
Since this error disappear after the server reboot, I would recommend to schedule a maintenance time to reboot all Exchange servers. Else, you can restart Microsoft Exchange Information Store service to double confirm.
Deleting the Migration mailbox, then recreating the migration mailbox and rebooting all the Exchange 2016 seems to have done the job.