Having moved a bunch of Exchange 2003 mailboxes over to Exchange 2010 over the weekend a few failed due to hitting the maximum number of corrupted items. Using the Exchange 2010 GUI for these move requests you are unfortunately capped at 50 messages before it will then fail – usually not a problem but for some users with larger mailboxes this does often kick in to cause a fail.

If a mailbox move fails due to having too many corrupt items you will need to move the mailbox via the Exchange PowerShell. The command line is as follows:

New-MoveRequest -Identity “Username” -AcceptLargeDataLoss -BadItemLimit “Numer of items to skip” –TargetDatabaseDatabase Name”

So for example to move a user with the username jsmith to a database named Mailbox Database 0345234234 and allow up to 250 corrupted items you would use the following command:

New-MoveRequest -Identity “jsmith” -AcceptLargeDataLoss -BadItemLimit ‘250’ -TargetDatabase “Mailbox Database 0345234234”