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.
Select the mailbox database to move to, and also choose the option to move the archive mailbox only.
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.
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
What if actual Online Archive DB is corrupted and is dismounted? I tried and it fails, I want to change Online Archive Database for users form corrupted one to new one!
Hi Paul,
Is there a way to check the move stats for a archive mailbox move?
The Real Person!
Author Paul Cunningham acts as a real person and passed all tests against spambots. Anti-Spam by CleanTalk.
Normal method not working?
Hello Paul,
Thank you for the great posts.
I have a customer who enabled in place archive for about 50 users, now they bought new 3rd party archiving solution.
My ask, do we have any script to move all archive content from archive database back to their original Mailbox/database .. This is Exchange 2013..
How to move the archive database to a new exchange 2016 server, it is the same as moving the mailbox database?
The Real Person!
Author Paul Cunningham acts as a real person and passed all tests against spambots. Anti-Spam by CleanTalk.
Yes. A database is a database.
Good article on how to move an archive.
However, and this is very important, when you move the personal archive it leaves a copy of it on the original DB, as Soft-Deleted. I found this out when after moving almost 200 users, they showed up in both DBs. I found this article.
https://technet.microsoft.com/en-us/library/dd298174.aspx#SoftDel
Soft-Deleted Mailboxes
When mailboxes are moved from an Exchange 2010 SP1 database to any other database, Exchange doesn’t fully delete the mailbox from the source database immediately upon completion of the move. Instead, the mailbox in the source mailbox database is switched to a soft-deleted state. Mailbox data can be accessed during a mailbox restore operation using the MailboxRestoreRequest cmdlet set. The soft-deleted mailboxes are retained in the source database until either the deleted mailbox retention period expires or you use the Remove-StoreMailbox cmdlet to purge the mailbox.
thanx, this information was ery useful!
Hello All,
Anyone have a one line PowerShell command that will move primary mailbox and their archive to a new database. I’ve been looking and have not found one. Would greatly appreciate it if you can share.
The Real Person!
Author Paul Cunningham acts as a real person and passed all tests against spambots. Anti-Spam by CleanTalk.
Have you looked at the documentation on TechNet for the New-MoveRequest cmdlet?
Hi Paul can you move the Archive back to the primary. for Mailbox moves to office 365
We are in the process of migrating to a hosted Exchange. We are stuck with an archive mailbox of approximate 75 GB is there a process to import that mail back into the primary mailbox without going through PST ?
We recently installed a new Exchange Server. I moved my archive mailbox to the new server, but now I need to move my regular mailbox to the new server as well. However, I no longer have the Move option available on my mailbox. What to do now?
The Real Person!
Author Paul Cunningham acts as a real person and passed all tests against spambots. Anti-Spam by CleanTalk.
Clear/remove the existing move request (the one that you already completed).
Hi Paul,
Firstly great article! I just wanted to know if it is possible for one user to be able to have 2 online archives? if yes, how would I go about doing that?
thanks
Ismail
The Real Person!
Author Paul Cunningham acts as a real person and passed all tests against spambots. Anti-Spam by CleanTalk.
No, it’s not possible.
i’m migrating from a single ex2010 to (yet) single ex2013 and i’m looking for any information about migrating a personal-archive- enabled- mailbox. can you give some advice (like revert archive back to mbx or move mbx including archive to “single” mailbox on 2013)?