Move All Mailboxes to Different Database In Exchange 2013 Via Powershell & EAC

  author
Written By Ashwani Tiwari
Anuraag Singh
Approved By Anuraag Singh
Published On December 17th, 2018
Reading Time 5 Minutes Reading

Moving mailboxes between the different databases of Exchange 2013 is not a day-to-day task for the administrators. However, there are a number of situations where there is a requirement to move mailboxes to another database in Exchange Server 2013 and all of them are listed below;

  1. When the size of one database increases enormously and creates technical glitches in the working of Exchange 2013. So, moving some of the data into another database on the same Exchange Server is the best option to tackle this situation.
  2. It is great to move user mailbox to another database in Exchange 2013 to prevent the mailboxes from the corruption occurs due to a large size of Exchange Server database file.

So, whenever admin has to perform migration of mailboxes between the databases, he/she takes a good amount of time to achieve the task. And, most of the times’ admin face failure due to lack of proper knowledge about the migration procedure. Hence, the goal of this article is to provide a complete guide in order to move the mailbox to a different database in Exchange Server 2013 through PowerShell and EAC method.

Move Mailbox to Another Database Exchange 2013 Using PowerShell

Exchange Management Shell method is the most preferred choice of an admin to tackle the Exchange Server related issues. However, you need to be careful while working with PowerShell cmdlets. Because any mistake in the command can lead to various problems. Now, without wasting any minute, we are going to describe the method to move the mailbox to a different database in Exchange 2013 via. PowerShell.

  1. Initially, use the following cmdlet to display the mailboxes of the database.

Get-Mailbox -Database Mailboxdb2

  1. Now, move the mailbox of database 2 to database 1 by executing the below-mentioned command.

Get-Mailbox -Database Mailboxdb2 | New-MoveRequest – TargetDatabase Mailboxdb1 – BatchName “Mailboxdb2to1”

  1. Sometimes the memory of the server is not sufficient to execute multiple move requests in a single time. In such a situation, users can go with the below-described PowerShell command. This cmdlet produces a move request and checks the request every 3 minutes.

foreach ($i in (Get-Mailbox -ResultSize unlimited)) { New-MoveRequest -identity $i -TargetDatabase “TargetDatabaseName” -baditemlimit 50 -acceptlargedataloss ;while ((Get-Moverequest -Identity $i |? {$_.Status -eq “Queued” -or $_.Status -eq “InProgress”})) { sleep 180 } }

  1. Next step is to transfer the system mailboxes, but first, view the details of arbitrations mailboxes by using the following command.

Get-Mailbox -Database “Mailboxdb02” -Arbitration

  1. After that, use the below cmdlet to migrate arbitration mailboxes to Mailboxdb1.

Get-Mailbox -Database “MailboxDatabase-Users” -Arbitration | New-MoveRequest -TargetDatabase “MailboxDB1”

  1. Execute either ‘Get-MoveRequest’ or ‘Get-MoveRequest | Get-MoveRequestStatistics’ in order to check the status of the procedure.
  2. Once the process gets completed, run the following PowerShell command.

Get-MoveRequest | Remove-MoveRequest

  1. Finally, you move the mailbox to another database in Exchange 2013.

Migrate Mailboxes to New Database In Exchange via Exchange Admin Center

Exchange Administrator can use Graphical Interface to move Exchange user mailboxes without using PowerShell command. Just follow the given below steps properly:

  • The first step is to open EAC or Exchange Admin Center.
  • Now, click on ‘Servers’ from the left-side navigation panel.
  • From the action pane, click on ‘Databases’ tab to view the mailbox databases.
  • After that, click on ‘recipients’ tab from the side panel. Afterward, select ‘mailboxes’ from the action pane. By doing this, all the mailboxes available in the server will display on the screen.
  • Next, click on ‘migration’ tab from the action pane and pick ‘Move to different database’ type of migration for the further process. This option will transfer mailboxes to a different database or any local server.
  • A new window appears on the screen named as ‘New Local Mailbox Move’. Here, you are required to add mailboxes manually or upload a CSV file. This .csv file consists of information regarding the mailboxes that are going to be migrated.
  • Provide a name to the export process in the box corresponding to ‘New Migration Batch Name’. In a case, if any archive mailbox is available, then select ‘Move archive mailbox along with the primary mailbox’ option.

Note: Now, you need to mention the desired database where the mailboxes are going to be transferred in the ‘Target Database’ section.

Note: Navigate to Browse option and provide a location to archive mailboxes of primary mailboxes. You need to provide Bad Item Limit. In the case when the corrupt data items limit is more than bad item limit, the process will terminate abruptly.

Mention ‘Large Item Limit’. With this option, if the large items are present in a mailbox, then it will be skipped. Otherwise, if the item number increases, the migration procedure will be stopped.

  • Provide a recipient where the acknowledgment message will be sent after the completion of the process.
  • The information regarding the mailbox sync status can be obtained from Status for All Batches option. If you want more details regarding the process, click on View details from the right-side pane.

  • Once the process gets completed successfully, the status of the complete procedure will appear on the screen.
  • The final export report will be sent to the recipients provided during the process.

Summing Up

Moving all mailboxes to a new database in Exchange 2010 environment can be done through Move Request PowerShell Command and even Migration features in Exchange Admin Center helps to move the database. Follow the mentioned steps and command carefully otherwise Command not recognized error occurs.

  author

By Ashwani Tiwari

Being a Chief Technical Analyst, I am aware of the technicalities faced by the user while working with multiple technologies. So, through my blogs and articles, I love to help all the users who face various challenges while dealing with technology.