Incidents and problems are surfacing about Exchange Server, and you like to check the Exchange…
After renaming the Exchange 2016 database, we like to move Exchange 2016 database to another drive. Good to know is that we can only move Exchange 2016 database path to another drive with PowerShell. It’s not possible to do it in the Exchange Admin Center. In this article, you will learn how to move Exchange 2016 database to another drive.
Table of contents
Before moving Exchange mailbox database to another drive
Before moving the database to another drive, we recommend having the volumes and disks configured as ReFS. Read how to configure ReFS volume in Exchange. After that, move the database and logs to the created ReFS volumes.
- Standalone Exchange Server
If the Exchange Server is a standalone server. Configure two separate disks. One disk is for the database, and the other disk is for the database logs.
- Exchange Server DAG
If the Exchange Server is going to be a member of a DAG, configuring two disks is not required. We can have the database and logs on the same disk or separate.
Best practice: For recoverability, move database (.edb) file and logs from the same database to different volumes backed by different physical disks. Read more: Exchange database best practices.
Get path Exchange mailbox database
Run Exchange Management Shell as administrator. Let’s get the path of the mailbox database. We will use the Get-MailboxDatabase cmdlet.
[PS] C:\>Get-MailboxDatabase | Format-List Name, EdbFilePath, LogFolderPath Name : DB01 EdbFilePath : C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1237333779\Mailbox Database 1237333779.edb LogFolderPath : C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1237333779
We already did change the mailbox database name to DB01. Read the article on how to rename Exchange 2016 database. The .edb file (database) and log folder do still have the unique generated name. We will configure the name when we move both the database and log folder to another drive.
Move Exchange mailbox database to another drive
In our example, we will place the database file and logs from the same mailbox database to different volumes. The volumes are configured on both different physical disks. The E: drive is the database disk, and the F: drive is the logs disk.
We are going to make use of the Move-DatabasePath cmdlet. The EdbFilePath parameter specifies a new file path for the database. All current database files are moved to this location. The LogFolderPath parameter specifies the folder where log files are stored. After running the command, confirm both times with Y and press Enter.
Important: The database will dismount, the files are being moved to the new location. After the files finished moving, the database is mounted. This will happen automatically. The time of the operation depends on how much data there is to be moved. The users that are configured in the mailbox database will have no access to their email. It’s recommended to do this after business hours.
[PS] C:\>Move-DatabasePath "DB01" -EdbFilePath "E:\DB01\DB01.edb" -LogFolderPath "F:\DB01" Confirm Are you sure you want to perform this action? Moving database path "DB01". [Y] Yes [A] Yes to All [N] No [L] No to All [?] Help (default is "Y"): Y Confirm To perform the move operation, database "DB01" 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"): Y
Let’s check if the folders are created and the files have moved to each disk.
Results after moving Exchange 2016 database to another drive
The database file is renamed and shown in the new disk volume, including the content index folder. The content index files are located in the same path as the database EDB file, in a sub-folder named with a GUID.
The database logs are moved to the new disk volume.
To clean up the old database folder, browse the old path of the database. Then, right-click the folder and click delete.
If you get a warning that the folder or file is in use, restart the following services in PowerShell. After that, you can delete the folder.
[PS] C:\>Get-Service -Name "HostControllerService","MSExchangeFastSearch" | Restart-Service WARNING: Waiting for service 'Microsoft Exchange Search Host Controller (HostControllerService)' to stop... WARNING: Waiting for service 'Microsoft Exchange Search Host Controller (HostControllerService)' to stop... WARNING: Waiting for service 'Microsoft Exchange Search (MSExchangeFastSearch)' to stop...
Verify the results with PowerShell.
[PS] C:\>Get-MailboxDatabase | Format-List Name, EdbFilePath, LogFolderPath Name : DB01 EdbFilePath : E:\DB01\DB01.edb LogFolderPath : F:\DB01
In this article, you learned how to move Exchange 2016 database to another drive. It’s only possible to move Exchange database and log folder of the mailbox database to another drive with PowerShell. Move Exchange database path to another drive outside business hours. Otherwise, the users with a mailbox in that mailbox database cannot connect to their email.
Did you enjoy this article? You may also like to read Create mailbox database Exchange 2016. Don’t forget to follow us and share this article.