How to resolve Unable to mount database (hr=0x80004005, ec=-543)

Summary: A dismounted or offline Exchange database may fail to mount and display an error message such as unable to mount database (HR=0x80004005, EC=-543). This may happen due to database inconsistency caused by the unexpected shutdown, server crash, database corruption, etc. In such a case, users can’t connect to their mailbox stored in the dismounted database on the Exchange server. This can disrupt communication and lead to a loss of productivity. Thus, in this blog, we mentioned steps to help you resolve the database mount error code HR=0x80004005, EC=-543, and restore mailboxes.

The error, “MapiExceptionJetErrorRequiredLogFilesMissing: Unable to mount database. (hr=0x80004005, ec=-543)” often appears when an Exchange administrator tries to mount a dismounted or offline mailbox database (EDB) file on the Exchange server by using Mount-Database cmdlets.

At first, when you look at the error message, it indicates a problem that occurred due to missing log files. However, there could be several reasons, as mentioned below, that may cause unable to mount database error with error code “-543”.  

  1. Exchange database file, i.e. EDB or STM file corruption
  2. The database file is in use or locked by another program, such as an antivirus
  3. The database is in Dirty Shutdown state
  4. Missing or corrupt logs

Usually, the error -543 unable to mount database is a result of EDB file corruption, dirty shutdown, or missing log files.

Steps to Resolve Exchange Database Mount Error -543

Below we have discussed steps that can help you resolve ‘Unable to mount database. (hr=0x80004005, ec=-543)’ error and mount the database on the server. We have also discussed a method to restore mailboxes, when Exchange tools fail to fix the database mount error, by using an Exchange recovery software, such as Stellar Repair for Exchange. The software repairs corrupt or inconsistent database files (EDB), extracts mailboxes, and restores them to live Exchange directly. You can also save the extracted mailboxes to PST and import them manually on your Exchange server.

Step 1: Check and Stop Other Programs

Before mounting the database file, ensure that the EDB or STM file is not in use by another program, such as antivirus software. If the database file is in use and locked by antivirus software while scanning, the error ‘Unable to mount database. (hr=0x80004005, ec=-543)’ may appear while mounting the database in the Exchange Management Shell (EMS).

You can add an exception in the antivirus software for Exchange database and log files to avoid such error instances or stop the antivirus for a while. Similarly, you can also check and close other utilities that may have access to the database files that you’re trying to mount.

Step 2: Restore Database from Backup

If the database file still fails to mount and error hr=0x80004005, ec=-543 is displayed, you can simply restore the database file from the last backup. If the backup is old and does not contain recent data, follow the next steps to resolve the error and mount the database file.

Step 3: Move Log Files to a Different Location

By moving current log files, which may be damaged or corrupt, you can recreate missing log files automatically. This may help you fix the problem and mount the database without any error. The steps are as follows,

  1. Navigate to the folder location where database log files are stored
  2. Create a new folder with any name
  3. Now move all the log files from the current log folder to this new folder
  4. Restart server. This will automatically recreate new log files and restore the missing log files

Step 4: Ensure Clean Shutdown State Before Mounting

Before mounting an offline or dismounted Exchange database file, you should always check the shutdown state of the database, whether it’s Clean or Dirty. To find if the database is in a dirty state, open Command Prompt (CMD) and enter the following command,

Eseutil /mh<Path to EDB File>

If the output displays ‘Dirty Shutdown’, you must bring the database to the Clean Shutdown state. This can be done by using the following command,

Eseutil /r “prefix”<E00> /l <log file location> /d <database location>

 After executing the above command, again verify the state of the database by using the following command in CMD,

Eseutil /mh<Path to EDB File>

If you see Clean Shutdown in the output, go ahead and mount the database by using the Mount-Database cmdlet in EMS. In case of any error, while running these commands, you can choose to perform advanced recovery methods to recover the database.

Step 5: Perform Soft Recovery

Soft recovery is performed when the database or log files are corrupt or damaged and can’t be brought to a clean shutdown state for mounting. In this, the log files are replayed over the database to commit and update the latest changes saved in log files to the database. This is done manually on the offline database by using the following EseUtil command,

Eseutil /r eNN /L [log files path] /s [checkpoint file path] /d [database path] /i

For instance,

Eseutil /r E00 /l “C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Logs” /d “C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\ Mailbox Database.edb” /i

After this, check that the database is in a clean state by using the following command,

Eseutil /mh

Step 6: Perform Hard Recovery (Risky)  

Hard Recovery is required when Soft Recovery fails. However, it’s a risky method to recover the database as it may cause damage to the database and data loss. Before hard recovery, backup the database and ensure there’s enough free storage space available (equivalent to database size).

The command is as follows,

Eseutil /p <path to database file>

Now check the database state by using the following command,

Eseutil /mh

However, if the database is still in Dirty Shutdown state and doesn’t mount, use Stellar Repair for Exchange to fix the problem with the database. The software will help you extract and save the mailboxes from the corrupt database to your local storage as PST. You can import these PSTs to your Exchange server and restore the user mailboxes. You can also choose ‘Export to Live Exchange’ option to directly export the mailboxes from damaged database files to live Exchange and map mailboxes with user accounts.

Conclusion

The safest way to deal with database mount error, such as unable to mount database (HR=0x80004005, EC=-543), is to restore the database from backup. You may also attempt manual fixes to check and fix the database mount error “-543” when the backup isn’t available. These stepwise fixes are explained in this guide to help you repair database inconsistency, dirty shutdown, and minor corruption. However, the manual steps require time and may lead to data loss. To avoid this and fix the problem, you can use an Exchange recovery software that extracts and restores user mailboxes from corrupt or damaged Exchange database (EDB) files to live Exchange.