Which is the fastest way to copy all mailbox database from one server to another server?

Both servers are exchange 2010 both servers are in same domain

-- Update --

I am having multiple mailboxes having 50GB+ size

-- Update -- Thanks @nate, @Alex, @HopelessN00b and @CleanCode, I didn't recognized it the question is too vague due to lack of knowledge, thanks again for the help

Thanks Prashant

  • Do you need to have the mailboxes online during the move?
    – Nate
    Jan 4, 2013 at 19:04
  • I can make it offline Jan 4, 2013 at 19:09
  • 2
    As HopelessNoob would point out, you don't specify size of mailbox databases, specs of the servers including disk throughput, link speed between them, etc. One person might say "straight copy of the dismounted databases across the LAN" not realizing there's only a T1 between them, so definitely not the "fastest". More details please including what you are trying to accomplish/what the need is.
    – TheCleaner
    Jan 4, 2013 at 19:14
  • 1
    Copy them over your OC-3072, because that's the only way I know of to achieve 160 Gbit/second network throughput. Jan 4, 2013 at 19:50
  • 1
    I think what TheCleaner and HopelessN00b meant is; your question, as-is, is way too vague to give you a smart answer...although Nate did a darn good job at it. Right now, this is the same thing as going to the mechanic without your car and asking "what's the best set of tire?".
    – Alex
    Jan 4, 2013 at 20:02

1 Answer 1


With all things being equal Database portability is the fastest way to do it but mailboxes will be offline during the move.

Sequence of tasks that need to take place:

  • Dismount mailbox database on old server
  • Run eseutil /MH NAME.edb to confirm you have a clean shutdown.
  • Create new mailbox store on New Exchange server and mount it.
  • Dismount the new mailbox store
  • Manually copy the old database to the new mailbox store database location (make sure it is the same name)
  • Run the following command on new server Set-MailboxDatabase DBNAME -AllowFileRestore:$true
  • Delete the transaction log files and checkpoint files for that database.
  • Mount the store.
  • Finally modify user account settings so user access points to the new mailbox server
    Get-Mailbox -Database OLD_DB | where {$_ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'} | Set-Mailbox -Database NEW_DB

(Remember as always to test before migrating production databases)

The other way (which is slower, but requires no downtime) is to create the databases on the new exchange server and issue mailbox moves to the new database. You can batch it up pretty quickly though in powershell.

Not the answer you're looking for? Browse other questions tagged or ask your own question.