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)"
The default OAB when Exchange 2016 is installed the OAB named “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″]

About the Author

Paul Cunningham

Paul is a former Microsoft MVP for Office Apps and Services. He works as a consultant, writer, and trainer specializing in Office 365 and Exchange Server. Paul no longer writes for Practical365.com.

Comments

  1. sonu sharma

    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

  2. Vladislav Artukov

    ” [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 “

  3. Wassef Almir

    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

    1. Avatar photo
      Paul Cunningham

      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.

  4. Paul

    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.

  5. Paul

    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 :

      1. Paul

        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!

  6. jast

    Hi, When you migrate from 2013 to 2016 in what step you recommend configure EX2016 DAG? after or before to migrate user mailbox?

    1. Avatar photo
      Paul Cunningham

      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.

  7. Martin

    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?

  8. Hari

    Hi,

    How to set specific mailbox database size …. i need to create 4 databases and each holding 200GB size.

    Thanks in advance
    Sree

    1. Avatar photo
      Paul Cunningham

      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.

  9. VISHWANATH SRINIVAS

    We can delete the default db which is created rather renaming and moving to new location and just create new DB in new location.

    1. Avatar photo
      Paul Cunningham

      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.

    2. Joerg Renggli

      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.

Leave a Reply