At this stage of the Exchange 2016 migration the Mailbox server has been installed, and the client access services have been configured. To continue with the configuration of the server, in this article we’ll look at configuring mailbox databases.
For many Exchange migrations, an organization will migrate to a database layout that is much the same as their existing layout. For example, if the organization previously had five mailbox databases, then they’ll create the same number of databases on the new server that they are migrating to. However, a migration is a good opportunity to review how many databases you need, and how you distribute your mailbox among them. For example:
- Your mailbox sizes may have grown, requiring larger databases or more databases to host the same amount of mailbox data. Growth in mailbox data size should be accounted for in your planning and design, and included in your calculations when you used the Exchange server role requirements calculator to size your servers and storage.
- If you’ve previously used a rigid system for assigning mailboxes to databases, you can consider changing to a more flexible, capacity-based system.
- Public folder mailboxes need to be accounted for if you are migrating from Exchange 2010 to Exchange 2016, because public folder data is no longer stored in a separate, dedicated databases, and is now stored in public folder mailboxes in the same databases as other mailbox types.
- If you’re migrating from a standalone Mailbox server to a database availability group, there are different maximum database sizes recommended by Microsoft, which could change the database sizes you plan to use.
For the Not Real University migration, the Exchange 2010 and Exchange 2013 servers in the organization have a single mailbox database each. The Exchange 2010 server also hosts a public folder database.
Name Server Recovery ReplicationType ---- ------ -------- --------------- DB2010 NREXCH10 False None DB2013 NREXCH13 False None Name Server ---- ------ PF2010 NREXCH10
The new Exchange 2016 server will be configured with five mailbox databases, which is the maximum for a Standard Edition license of Exchange 2016, to host all of the existing mailbox and public folder data.
The Exchange 2016 server already has a single mailbox database that was created by Exchange setup. The database and log files are located in the default paths, in the same Program Files location that the Exchange application files were installed. The database also has a uniquely generated name.
[PS] C:\>Get-MailboxDatabase -Server NREXCH16 | Select Name,EdbFilePath,LogFolderPath | fl Name : Mailbox Database 1307746049 EdbFilePath : C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1307746049\Mailbox Database 1307746049.edb LogFolderPath : C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1307746049
Neither the default location or name are suitable for this deployment, so the first step is to rename the database to match the naming scheme used in this environment.
[PS] C:\>Set-MailboxDatabase "Mailbox Database 1307746049" -Name DB2016-01
Next, we can move the mailbox database and log files to their intended location on the database and log volumes that have been configured on the server. This move involves an outage of the database while it is dismounted, moved, and remounted, so you should ideally perform this task before migrating any mailboxes to the database.
[PS] C:\>Move-DatabasePath -Identity DB2016-01 -EdbFilePath D:\DB2016-01\DB2016-01.edb -LogFolderPath E:\DB2016-01 Confirm Are you sure you want to perform this action? Moving database path "DB2016-01". [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): a Confirm To perform the move operation, database "DB2016-01" must be temporarily dismounted, which will make it inaccessible to all users. Do you want to continue? [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): a
Next, we need to create the four additional mailbox databases.
[PS] C:\>for ($i=2;$i -lt 6;$i++) {$dbname = "DB2016-0$($i)"; New-MailboxDatabase -Server NREXCH16 -Name $dbname -EdbFilePath D:\$dbname$\($dbname).edb -LogFolderPath E:\$dbname} Name Server Recovery ReplicationType ---- ------ -------- --------------- DB2016-02 NREXCH16 False None WARNING: Please restart the Microsoft Exchange Information Store service on server NREXCH16 after adding new mailboxdatabases. DB2016-03 NREXCH16 False None WARNING: Please restart the Microsoft Exchange Information Store service on server NREXCH16 after adding new mailboxdatabases. DB2016-04 NREXCH16 False None WARNING: Please restart the Microsoft Exchange Information Store service on server NREXCH16 after adding new mailboxdatabases. DB2016-05 NREXCH16 False None WARNING: Please restart the Microsoft Exchange Information Store service on server NREXCH16 after adding new mailboxdatabases.
The Information Store service should be restarted after creating the new databases, which ensures the correct memory allocation will be provided for each database. This will cause an outage for the databases on the server, so again you should perform this task before migrating any mailboxes.
[PS] C:\>Invoke-Command -ComputerName NREXCH16 {Restart-Service MSExchangeIS}
Now that all the databases have been created, they need to be configured for storage quotas and the offline address book. The storage quotas for the existing databases in the environment were collected during the planning stage of the project. For Not Real University, the new mailbox databases will have a larger storage quota than the previous databases, to reflect the growing use of email by users in the organization.
[PS] C:\>Get-MailboxDatabase -Server NREXCH16 | Set-MailboxDatabase -IssueWarningQuota 4.5GB -ProhibitSendQuota 5GB -ProhibitSendReceiveQuota 5.5GB
For the offline address book, you can choose to leave the option blank for each database, and the mailboxes hosted on that database will use the default offline address book in the organization. Alternatively, you can assign a specific offline address book to each database.
[PS] C:\>Get-OfflineAddressBook | ft -auto Name Versions AddressLists ---- -------- ------------ Default Offline Address Book {Version3, Version4} {Default Global Address List} Default Offline Address Book (Ex2013) {Version4} {Default Global Address List} [PS] C:\>Get-MailboxDatabase -Server NREXCH16 | Set-MailboxDatabase -OfflineAddressBook "Default Offline Address Book (Ex2013)"
Now that the databases have been configured, it is a good time to implement and test your backups. If you don’t have a backup application available, you can use use Windows Server Backup to protect your Exchange 2016 databases. Backups should be fully configured and tested before the server goes into production.
In the next article in this series, we’ll look at preparing for co-existence.
[adrotate banner=”51″]
i have two exchange server
1 exchange server 2016
2 new install exchange server 2016
and i want to using old exchange sever mailbox database to new install exchange server mailbox database
i mean attached old server database to new server
” [PS] C:\>Move-DatabasePath -Identity DB2016-01 -EdbFilePath D:DB2016-01DB2016-01.edb -LogFolderPath E:DB2016-01 ”
Backslashes are missed. Correct is
” [PS] C:\>Move-DatabasePath -Identity DB2016-01 -EdbFilePath D:\DB2016-01DB2016-01.edb -LogFolderPath E:\DB2016-01 “
when i try to rename the default database i get this error
The operation couldn’t be performed because object ‘Mailbox Database 1887212784.edb’ couldn’t be found on domain controller DC01 any idea why doing that please
The Real Person!
The Real Person!
When you are renaming the database, you must use the database name, not the file name. Remove the “.edb” from the command and it will probably work.
Shouldn’t the publicfolderDatabase point to something? When I try to download the oab on a client in cached mode I get an error. works fine in “online” mode.
Hi there, did a recent replacement of Exchange 2013 and everything went well except one TINY detail. Our OAB is not assigned to a database… I don’t know how to fix it in this specific version of exchange 🙁
[PS] C:\Windows\system32>Get-OfflineAddressBook -Identity “Default Offline Address List” | fl
RunspaceId : d637ec82-41b9-4ae8-a38a-6197896c919a
Server :
GeneratingMailbox : domain.com/Users/SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
AddressLists : {\Default Global Address List}
Versions : {Version4}
IsDefault : True
PublicFolderDatabase :
The Real Person!
The Real Person!
Not sure what you mean. What are you expecting to see?
I realize I was close, but not quite. down lower in the result was an indication that the virtual directory was not enabled!!! so this did the trick.
set-offlineaddressbook “default offline address list” -virtualdirectories $null -globalwebdistributionenabled $true
your tips got me there though so thank you!
Hi, When you migrate from 2013 to 2016 in what step you recommend configure EX2016 DAG? after or before to migrate user mailbox?
The Real Person!
The Real Person!
I always create the DAG first so I can do all my DAG testing like failures, switchovers, backups etc before moving any production mailboxes on to it.
First off, great tutorial. We are planning on splitting up user’s mailboxes from their online archives. That way we can utilize slower less expensive disks for the online archives and faster disks for the mailboxes. I realize this complicates management a little but I’m looking to see if you have any advise concerning the auto provisioning features in 2016? Also, any advise migrating those mailboxes to a split database configuration?
Hi,
How to set specific mailbox database size …. i need to create 4 databases and each holding 200GB size.
Thanks in advance
Sree
The Real Person!
The Real Person!
Create your four databases, and start moving mailboxes to them. Databases don’t start out at a specific size, they grow as you add mailbox data to them.
We can delete the default db which is created rather renaming and moving to new location and just create new DB in new location.
The Real Person!
The Real Person!
It’s easier to move it. There’s a system mailbox on that first database that will prevent the removal of the database unless you move the system mailbox first, so it easier to just move the database. It’s a brand new database with no data in it, only takes a few moments to move.
Hi all,
Usually I install Exchange already with the correct DB name and path:
Setup.exe /mode:Install /role:MB, CA /IAcceptExchangeServerLicenseTerms /TargetDir:”C:Program FilesMicrosoftExchange ServerV15″ /mdbname:DB01 /dbfilepath:d:DB01DB01.edb
But of course I guess you just wanted to illustrate how to move and rename a database.