With online moves and batch migrations, you can move mailboxes
between databases on the same server. You also can move mailboxes from
a database on one server to a database on another server regardless of
whether the servers are in a different Active Directory site or in
another Active Directory forest.
Normally, when you perform online migrations, the move process looks like this:
-
You create a batch migration request for the mailboxes that you want
to move using either Exchange Admin Center or Exchange Management Shell. -
The request is sent to the Mailbox Replication Service running on a
Client Access server in the current Active Directory site. This server
acts as the Mailbox Replication Service proxy. -
MRS adds the mailboxes to the Request queue and assigns the status
Created to the request. This indicates the move has been requested but
not started. -
When a request is at the top of the queue, MRS begins replicating
the related mailboxes to the destination database and assigns the
Syncing status to the request. -
When MRS finishes its initial replication of the mailboxes, the service assigns the Synced status to the request. -
The
request remains in the Synced state until you or another administrator
specifies that you want to complete the request. MRS performs a final
data synchronization and then marks the request as Completed. -
When the request is completed, the mailboxes are available in the
new location. Because users can continue to access their email accounts
during the move, you can perform online moves and migrations at any
time.
One way to perform online mailbox moves and migrations is by using
Exchange Management Shell. The commands for performing online mailbox
moves include the following:
-
Get-MoveRequest
. Displays the detailed status of an ongoing mailbox move that was initiated using the New-MoveRequest cmdlet. -
New-MoveRequest
. Starts a mailbox move. You also can verify readiness
to move by using the -WhatIf parameter. Use the -Priority parameter to
set the relative priority of the request. -
Resume-MoveRequest
. Resumes a move request that has been suspended or failed. -
Set-MoveRequest
. Changes a move request after it has been started. -
Suspend-MoveRequest
. Suspends a move request that has been started but has not yet been completed. -
Remove-MoveRequest
. Cancels a mailbox move initiated using the
New-MoveRequest cmdlet. You can use the Remove-MoveRequest command any
time after initiating the move but only if the move request is not yet
complete.
The commands for performing batch mailbox migrations include the following:
-
Get-MigrationBatch
. Displays the detailed status of an ongoing mailbox migration that was initiated using the New-MigrationBatch cmdlet. -
Set-MigrationBatch
. Changes a migration request after it has been started. -
New-MigrationBatch
. Submits a new mailbox migration request. You also can
verify readiness to migrate by using the -WhatIf parameter. Use the
-AutoStart parameter to allow immediate processing of the request. Use
the -AutoComplete parameter to automatically finalize the batch when
the initial synchronization is complete. -
Start-MigrationBatch
. Submits a migration request for processing; required when the -AutoStart parameter is not used with New-MigrationBatch. -
Stop-MigrationBatch
. Stops a migration request that has been started but has not yet been completed. -
Complete-MigrationBatch
. Finalizes a migration request that has been
synchronized; required when the -AutoComplete parameter is not used
with New-MigrationBatch. -
Remove-MigrationBatch
. Deletes a mailbox migration request that either isn’t
running or has been completed. If you created a new request but haven’t
submitted it, you can use this command to remove the request so that
the mailboxes specified in the request aren’t migrated. If the request
is completed, the mailboxes are already migrated, and you can use this
command to remove the request from the queue. -
Get-MigrationUser
. Retrieves information about the ongoing migration of a particular mailbox. -
Remove-MigrationUser
. Allows you to remove a mailbox from a migration request. -
Test-MigrationServerAvailability
. Ensures the target server for a cross-premises move is available and verifies the connection settings.
Other batch migration commands include: Get-MigrationStatistics,
Get-Migration-UserStatistics, Get-MigrationConfig, Set-MigrationConfig,
Get-MigrationEndpoint, Set-MigrationEndpoint, New-MigrationEndpoint,
and Remove-MigrationEndpoint.
Moving mailboxes within a single forest
You perform online mailbox moves within a single forest by using
Exchange Management Shell. To verify move readiness, use
New-MoveRequest with the -WhatIf parameter for each mailbox you plan to
move. The following examples show two different ways you can verify
whether Morgan Skinner’s mailbox can be moved:
New-MoveRequest -Identity 'morgans' -TargetDatabase "Engineering Primary" -WhatIf 'pocket-consultant.com/users/Morgan Skinner' | New-MoveRequest -TargetDatabase 'Engineering Primary' -WhatIf
To initiate an online move, you use New-MoveRequest for each mailbox
you want to move. The following examples show two different ways you
can move Morgan Skinner’s mailbox:
New-MoveRequest -Identity 'morgans' -Remote -RemoteHostName 'mailserver17. pocket-consultant.com' -mrsserver 'casserver21.pocket-consultant.com' -TargetDatabase "Engineering Primary" 'pocket-consultant.com/users/Morgan Skinner' | New-MoveRequest -Remote -RemoteHostName 'mailserver17.pocket-consultant.com' -mrsserver 'casserver21.pocket-consultant.com' -TargetDatabase 'Engineering Primary'
After you initiate a move, you can check the status of the online
move using Get-MoveRequest. As shown in the following example, the key
parameter to provide is the identity of the mailbox you want to check:
Get-MoveRequest -Identity 'morgans'
You can use Suspend-MoveRequest to suspend a move request that has
not yet completed, and Resume-MoveRequest to resume a suspended move
request. Resuming a suspended request allows it to complete.
You can cancel a move at any time prior to running the move request
being completed by Exchange. To do this, run Remove-MoveRequest and
specify the identity of the mailbox that shouldn’t be moved. An example
follows:
Remove-MoveRequest -Identity 'morgans'
When your source and
destination Mailbox servers are running Exchange Server 2013 and are in
the same forest, you can move mailboxes by completing these steps:
-
Log on to Exchange Admin Center via a Client Access server in the
domain or forest you want to work with. In Exchange Admin Center,
select Recipients in the feature pane and then select Migration. -
On the Migration page, select New and then select Move To A Different Database. This starts the New Local Mailbox Move Wizard. -
On the Select The Users page, shown in Figure 3, you can select the mailboxes to migrate by doing one of the following:
-
Select the mailboxes that you want to migrate using the graphic
interface. Tap or click Add. Use the Select Mailbox dialog box to
select the mailboxes to move and then tap or click Add. Next, tap or
click OK.
You can select and move multiple mailboxes at the same time. To
select multiple mailboxes individually, hold down the Ctrl key, and
then tap or click each mailbox that you want to select. To select a
sequence of mailboxes, select the first mailbox, hold down the Shift
key, and then tap or click the last user mailbox. -
Select the mailboxes that you want to migrate using a file
containing a list of comma-separated Exchange identifiers. Tap or click
Specify The Users With A CSV File and then tap or click Browse. Use the
Choose File To Upload dialog box to select the .csv file and then tap
or click OK.
The file you use should be named with the .csv extension. The first
line of the file should identify the column of data to import as:
EmailAddress and each successive line in the file should be the email
address of a mailbox to migrate, as shown in the following example:
EmailAddress [email protected] [email protected] [email protected] [email protected] [email protected] -
Tap or click Next. On the Move Configuration page, shown in Figure 4, enter a descriptive name for the migration batch.
-
Use the Archive options to specify whether you want to move only the
primary mailbox for the selected recipients, only the archive mailbox
for the selected recipients, or both. -
If you are moving the primary mailboxes for recipients, tap or click
Browse to the right of the Target Database text box. In the Select
Mailbox Database dialog box, choose the mailbox database to which the
mailbox should be moved. Mailbox databases are listed by name as well
as by associated server and Exchange version. -
If you are moving the archive mailboxes for recipients, tap or click
Browse to the right of the Target Archive Database text box. In the
Select Mailbox Database dialog box, choose the mailbox database to
which the mailbox should be moved. Mailbox databases are listed by name
as well as by associated server and Exchange version. -
If corrupted messages are found in a mailbox that you are migrating,
the messages are skipped automatically and not migrated as part of the
mailbox. By default, the wizard skips an unlimited number of bad items
in each mailbox which ensures mailboxes are migrated regardless of the
level of corruption. If you want to specify the maximum number of bad
items that can be skipped in each mailbox, tap or click More Options
and then enter this value in the Bad Item Limit text box. -
Tap or click Next. On
the Start The Batch page, your current login is selected as the
recipient for the batch report. This report will contain details about
errors encountered during the migration. To add or change recipients
for this report, tap or click Browse. In the Select Members dialog box,
select the recipients that should receive the report and then tap or
click OK. You must select at least one recipient. -
By default, Exchange Server creates and starts the batch migration
request. When the request is completed, Exchange Server will also
automatically finalize it. If you want to manually start the batch,
select the Manual option. If you want to manually finalize the batch,
clear the Automatically Complete check box. -
Tap or click New. Migrating mailboxes can take several hours,
depending on the size of the mailboxes you are moving. You can check
the status of move requests by refreshing the view on the Migration
page. While the request is in the Synced state, you can cancel the
request by selecting it and then tapping or clicking Delete. You cannot
cancel a request that has started syncing.
Moving mailboxes between forests
You can perform online mailbox moves between different Exchange
forests using Exchange Admin Center or Exchange Management Shell. When
you are moving mailboxes between forests, verify that mailboxes are
ready to be moved before you submit a move request. To verify
readiness, the Microsoft Exchange Mailbox Replication service proxy in
the source forest checks the status of each mailbox you are moving and
also ensures you have the permissions required to move the mailboxes
from the source forest to the target forest. If a user has an archive
mailbox or subscriptions, you will likely need to remove the archive
mailbox, the subscriptions, or both before you are able to move the
mailbox.
You can verify move readiness in Exchange Management Shell by using
New-MoveRequest with the -WhatIf parameter for each mailbox you plan to
move. The following examples show two different ways you can verify
whether Rob Cason’s mailbox can be moved:
New-MoveRequest -Identity 'robc' -Remote -RemoteHost 'mailserver17.pocket-consultant.com'-mrsserver 'casserver21.pocket-consultant.com' -TargetDatabase "Engineering Primary" -WhatIf 'pocket-consultant.com/users/Rob Cason' | New-MoveRequest -Remote -RemoteHost 'mailserver17.pocket-consultant.com' -mrsserver 'casserver21.pocket-consultant.com' -TargetDatabase 'Engineering Primary' -WhatIf
You can perform online mailbox moves between forests by following these steps:
-
Log on to Exchange Admin Center via a Client Access server in the
target forest. In Exchange Admin Center, select Recipients in the
feature pane and then select Migration. -
On the Migration page, select New and then select Move To This Forest. This starts the New Cross-Forest Mailbox Move Wizard. -
On the Select The Users page, select the mailboxes to migrate and then tap or click Next. -
The target forest is the forest to which you are connected. The
source forest is the forest where the mailboxes are located currently.
In the Source Forest Administrator Name text box, enter the name of a
user account that has appropriate administrative privileges in the
source forest. Enter the name in Domain\UserName format, such as
Pocket-Consulta\Williams.
Note
The administrator must have sufficient permissions to create the
required migration endpoint and move accounts. Typically, this means
the account must be a member of both the Recipient Management and
Server Management groups in the Exchange organization or have
Organization Management permissions. However, if you previously
migrated accounts between these forests, the migration endpoint created
previously may still be available, in which case only Recipient
Management permissions are required.
-
In the Source Forest Administrator Password text box, enter the password for the previously specified account. -
When you tap or click Next, Exchange uses the Autodiscover service
to try to detect the availability of the migration endpoint as well as
to test connectivity. If errors occur, the Confirm The Migration
Endpoint page is displayed. At this point, you have several options.
You can:
-
Enter the fully qualified domain name of a Client Access server in
the source forest that can act as the remote MRS proxy server and then
tap or click Next to have Exchange try to connect to a migration
endpoint on this server and test connectivity. -
Tap or click Back to provide alternate credentials and then tap or
click Next to retry the connection with those credentials. (Or simply
tap or click Back and then tap or click Next to retry the connection
with the original credentials.) -
Use the Exchange Remote Connectivity Analyzer (https://testexchangeconnectivity.com) to diagnose the connectivity issues. Once the issues are resolved, you can tap or click Next to continue.
-
On the Start The Batch page, your current login is selected as the
recipient for the batch report. This report will contain details about
errors encountered during the migration. To add or change recipients
for this report, tap or click Browse. In the Select Members dialog box,
select the recipients that should receive the report and then tap or
click OK. You must select at least one recipient. -
By
default, Exchange Server creates and starts the batch migration
request. When the request is completed, Exchange Server will also
automatically finalize it. If you want to manually start the batch,
select the Manual option. If you want to manually finalize the batch,
clear the Automatically Complete check box. -
Tap or click New. Migrating mailboxes can take several hours,
depending on the size and number of the mailboxes you are moving. You
can check the status of move requests by refreshing the view on the
Migration page. While the request is in the Synced state, you can
cancel the request by selecting it and then clicking Delete. You cannot
cancel a request that has started syncing.
You can perform online moves in Exchange Management Shell by using
New-MoveRequest for each mailbox you plan to move. The following
examples show two different ways you can move Adam Carter’s mailbox:
New-MoveRequest -Identity 'adamc' -Remote -RemoteHost 'mailserver17.pocket-consultant.com'-mrsserver 'casserver21.pocket-consultant.com' -TargetDatabase "Engineering Primary" 'pocket-consultant.com/users/Adam Carter' | New-MoveRequest -Remote -RemoteHost 'mailserver17.pocket-consultant.com' -mrsserver 'casserver21.pocket-consultant.com' -TargetDatabase 'Engineering Primary'
After you initiate a move, you can check the status of the online
move by using Get-MoveRequest. As shown in the following example, the
key parameters to provide are the identity of the mailbox you want to
check and the name of the proxy server:
Get-MoveRequest -Identity 'adamc' -mrsserver 'casserver21.pocket-consultant.com'
You can use Suspend-MoveRequest to suspend a move request that is
not yet complete, and Resume-MoveRequest to resume a suspended move
request. Resuming a suspended request allows it to complete.
At any time prior to the move request completing, you can cancel the
move by running Remove-MoveRequest and specifying the identity of the
mailbox that shouldn’t be moved, such as:
Remove-MoveRequest -Identity 'adamc' -mrsserver 'casserver21.pocket-consultant.com'
|