With the release of Exchange 2010 SP1 Beta, archive mailboxes can be moved to different database than the one that hosts the primary mailbox. My previous article explains the process in detail.
As the exchange community has started playing with SP1 Beta in test environment, one question that comes up very often is “an easier way to move all archive mailboxes to a dedicated database/server”. This can easily be done with the help of exchange shell.
Run the following command to move all archive mailboxes hosted on any database in your environment to a dedicated database, say “ArchiveDB”.
Get-Mailbox –Resultsize Unlimited | where { $_.ArchiveDatabase -ne $null } | New-MoveRequest –ArchiveOnly -ArchiveTargetDatabase ArchiveDB
The –archiveonly option makes sure that only the archive mailboxes are selected.
Once the move is complete, clear the request as always. You won’t be able to move the mailboxes again otherwise.
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest