Move a Mailbox Database Using Database Portability (Exchange 2013)
Database portability is a feature that enables a Microsoft Exchange Server 2013 mailbox database to be moved to or mounted on any other Mailbox server in the same organization running Exchange 2013 that has databases with the same database schema version. Mailbox databases from previous versions of Exchange can’t be moved to a Mailbox server running Exchange 2013. By using database portability, reliability is improved by removing several error-prone, manual steps from the recovery processes. In addition, database portability reduces the overall recovery times for various failure scenarios.
What do you need to know before begin:
1- Estimated time to complete: 5 minutes, plus the time it takes to restore the data, move the database files, and wait for Active Directory replication to complete
2- You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the “Mailbox recovery” entry in the Recipients Permissions topic.
3- You can’t use the EAC to move user mailboxes to a recovered or dial tone database using database portability.
Using Power Shell to move user mailboxes to a recovered Database using Database Portability
1- Verify that the database is in a clean shutdown state. If the database isn’t in a clean shutdown state, perform a soft recovery.
To commit all uncommitted log files to the database, from a command prompt, run the following command.
ESEUTIL /R <Enn> /L Log Path Example: Eseutil /R E00 /Ld:\exchsrvr\logfiles
2- Create a database on the new server, as shown in this example. The paths used in this example are for illustration purposes only.
New-MailboxDatabase -Name DB1 -Server MBX1 -EdbFilePath C:\Databases\DB1\DB1.edb -LogFolderPath C:\Databases\DB1
3- Set the This database can be over written by restore attribute using the following syntax.
Set-MailboxDatabase <Database Name> -AllowFileRestore $true
Mount-Database <Database Name>
Get-Mailbox -Database <SourceDatabase> |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Set-Mailbox -Database <TargetDatabase>
Get-Queue Queue Name | Retry-Queue -Resubmit $true
To verify that you’ve successfully moved a mailbox, do the following:
- Open the mailbox using Outlook Web App.
- Open the mailbox using Microsoft Outlook.