Manual edit of AD Schema for New Mailbox Database Location After Crash of Move-DatabasePath cmdlet

Environment: Exchange 2010 SP1

Scenario:

Volume containing mailbox databases ran out of disk space. Was able to clear up 1 GB of space and ran move-databasepath cmdlet. The process crashed with  the following error message:

Error:
Sending data to a remote command failed with the following error message: The WS-Management service cannot complete the operation within the time specified in OperationTimeout. For more information, see the about_Remote_Troubleshooting Help topic.

Even though the process crashed the .EDB file was moved to the new volume and the file size was an exact match to the original. However, upon attempt to mount the database I got the following error:

[PS] C:\Windows\system32>mount-database -identity 'DB1'
Couldn't mount the database that you specified. Specified database: DB1; Error code: An Active Manager operation failed. 
Error: The database action failed. Error: Operation failed with message: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-1032). [Database: DB1, Server: exchsvr1.doamin.local].
    + CategoryInfo          : InvalidOperation: (DB1:ADObjectId) [Mount-Database], InvalidOperationException
    + FullyQualifiedErrorId : C7553590,Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase

Resolution:

The mailbox database file was copied correctly however the cmdlet failed before the AD schema was updated. The resolution was to go edit the schema to point to the new EDB file.

  1. First thing was to check the health of the file. You can check the health of the Exchange DB file from the command line:
    1. eseutil /mh “[edb file path]” (If not healthy, stop and call Micrososft support for assistance)
  2. Open ADSIEdit
  3. Connect to the Configuration Container
  4. Navigate to:
    • CN=Configuration,DC=[YourDomain]
    • CN=Services
    • CN=[DomainNetBiosName]
    • CN=Administrative Groups
    • CN=[Administrative Group which database is a part of]
    • CN=Databases
    • CN=[DatabaseName]
  5. On the container of your database, right click and select “Properties” and take note of the current value for attributes named MSEXCHEDBfile and MSESEParamlogfilepath
  6. Edit the attributes MSEXCHEDBfile and MSESEParamlogfilepath to the new location

An article describing this process in more depth for Exchange 2000 and 2003 can be found here: http://support.microsoft.com/kb/822676; even though the article isn’t updated for Exchange 2007/2010 the process is pretty similar.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s