Wednesday, December 10, 2014

Moving Exchange 2013 Databases Hangs at Validating Path

The consultant that set up my hybrid environment did a very basic install and loaded the mailbox database on the application drive and put the log files in the same folder with the database. We've not bothered backing up the Exchange system as we were not really using the local database.  Now I'm ready to use these on premise databases.  The backup app won't even load with the system configured with the logs and database on the same drive.  When I attempted to move the database the command hung while validating the path.

The problem is that the move database command checks to make sure that you have ~33% free disk space after the move has been completed for both the database and the log files.  Even though they would not be needed and would not be moved by the command there was a huge number of log files because we have not been completing an Exchange aware backup of these servers. 

I had to move the database manually:

1. Dismount the database
Dismount-Database "Mailbox Database

2. Verify clean shut down
Get-MailboxDatabase -Status | % { eseutil /mh $_.edbfilepath } | Select-String -Pattern "State:"

3. Manually copy the database to the new location

4. Verify the command with “what if”
Move-Databasepath “Mailbox Database” –EdbFilepath “F:\MailboxDatabase\Mailbox Database.edb” –LogFolderpath “E:\MailboxLogs” –ConfigurationOnly –whatif

 This checks the path so you’ll get an error if you don’t move the database ahead of time or there is a typo like this - WARNING: The Exchange database file path that you specified, "F:\MailboxDatabase\Mailbox Database.edb", doesn't exist.

5. Move the database using the configuration only command
Move-Databasepath “Mailbox Database” –EdbFilepath “F:\MailboxDatabase\Mailbox Database.edb” –LogFolderpath “E:\MailboxLogs” -ConfigurationOnly

6. Rename the old database to prevent confusion

7. Mount the database
mount-Database "Mailbox Database"

8. Verify logs are being created in E:\MailboxLogs

9. Verify the database is healthy
Get-MailboxDatabase -status |FL AutoDatabaseMountDial, EdbFilePath, LogFolderPath, Mounted

1 comment: