The Exchange Server 2010 RTM version did not have the ability to locate the archive mailbox on a different mailbox database than the user’s primary mailbox. However Exchange Server 2010 SP1 added this feature, making it possible to create dedicated archive mailbox databases.
Moving archive mailboxes follows a similar process to moving other mailboxes, by using Move Requests.
How to Move the Exchange Server 2010 Archive Mailbox of a Single User
To move an archive mailbox start the New Local Move Request wizard.

Start the Exchange Server 2010 New Local Move Request wizard
Select the mailbox database to move to, and also choose the option to move the archive mailbox only.

Choose the destination for moving the archive mailbox in Exchange Server 2010
Complete the new Move Request and wait for it to finish processing.
You can also intiiate the Move Request from the Exchange Management Shell.
[PS] C:\>New-MoveRequest -Identity "Alan.Reid" -ArchiveOnly -ArchiveTargetDatabase "Archive Mailboxes" DisplayName Status TotalMailboxSize TotalArchiveSize PercentComplete ----------- ------ ---------------- ---------------- --------------- Alan Reid Queued 0 B (0 bytes) 0 B (0 bytes) 0
You can view the status of the Move Request in the Exchange Management Shell.
[PS] C:\>Get-MoveRequest DisplayName Status TargetDatabase ----------- ------ -------------- Alan Reid Completed
When the Move Request is complete you can clear it.
[PS] C:\>Remove-MoveRequest "Alan Reid" Confirm Are you sure you want to perform this action? Removing completed move request "Alan Reid". [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): y
The user mailbox properties will now reflect the new location of the archive mailbox.

Exchange Server 2010 Archive Mailbox Database attribute
How to Move the Exchange Server 2010 Archive Mailbox of Multiple Users
Since we already know how to identify which users have archive mailboxes enabled, we can use a similar Exchange Management Shell command to move all archive mailboxes to a different database.
[PS] C:\>Get-Mailbox | where {$_.ArchiveDatabase -ne $null -and $_.ArchiveDatabase -ne "Archive Mailboxes"}
Name Alias ServerName ProhibitSendQuota
---- ----- ---------- -----------------
Paul Cunningham Paul.Cunningham ex2 unlimited
Alannah.Shaw Alannah.Shaw ex2 unlimited
Bozena.Kirton Bozena.Kirton ex2 unlimited
Diane.Jones Diane.Jones ex2 unlimited
Helen.Cail Helen.Cail ex2 4.688 GB (5,033,164,800 bytes)
Julian.Morozgalska Julian.Morozgalska ex2 unlimited
Maggie.Hengist Maggie.Hengist ex2 unlimited
Nicola.Clare Nicola.Clare ex2 unlimited
Sabi.Smith Sabi.Smith ex2 unlimited
Trevor.Reece Trevor.Reece ex2 unlimited
By piping that output to the New-MoveRequest cmdlet we can create Move Requests for all of those archive mailboxes with a single command.
Note: this is a long command line and you will need to scroll across to see the entire command.
[PS] C:\>Get-Mailbox | where {$_.ArchiveDatabase -ne $null -and $_.ArchiveDatabase -ne "Archive Mailboxes"} | New-MoveRequest -ArchiveOnly -ArchiveTargetDatabase "Archive Mailboxes"
DisplayName Status TotalMailboxSize TotalArchiveSize PercentComplete
----------- ------ ---------------- ---------------- ---------------
Paul Cunningham Queued 0 B (0 bytes) 0 B (0 bytes) 0
Alannah Shaw Queued 0 B (0 bytes) 0 B (0 bytes) 0
Bozena Kirton Queued 0 B (0 bytes) 0 B (0 bytes) 0
Diane Jones Queued 0 B (0 bytes) 0 B (0 bytes) 0
Helen Cail Queued 0 B (0 bytes) 0 B (0 bytes) 0
Julian Morozgalska Queued 0 B (0 bytes) 0 B (0 bytes) 0
Maggie Hengist Queued 0 B (0 bytes) 0 B (0 bytes) 0
Nicola Clare Queued 0 B (0 bytes) 0 B (0 bytes) 0
Sabi Smith Queued 0 B (0 bytes) 0 B (0 bytes) 0
Trevor Reece Queued 0 B (0 bytes) 0 B (0 bytes) 0
When all of the Move Requests are completed don’t forget to clear them.
[PS] C:\>Get-MoveRequest | where {$_.Status -eq "Completed"} | Remove-MoveRequest
Confirm
Are you sure you want to perform this action?
Removing completed move request "Paul Cunningham".
[Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): a



