如何解決Cannot mount database (hr=0x80004005, ec=-543)

內容

錯誤“MapiExceptionJetErrorRequiredLogFilesMissing:無法裝載數據庫。 (hr=0x80004005, ec=-543)”通常出現在 Exchange 管理員嘗試使用裝配數據庫命令。

首先,當您查看錯誤消息時,它表示由於缺少日誌文件而發生的問題。 但是,可能有如下所述的多種原因會導致無法安裝數據庫錯誤,錯誤代碼為“-543”。

  1. Exchange 數據庫文件,即 EDB 或 STM 文件損壞
  2. 數據庫文件正在使用中或被另一個程序鎖定,例如防病毒程序。
  3. 數據庫處於異常關閉狀態
  4. 丟失或損壞的記錄

通常,-543 cannot mount database 錯誤是 EDB 文件損壞、不正確關閉或丟失日誌文件的結果。

解決 Exchange 數據庫裝入錯誤 -543 的步驟

下面我們討論可以幫助您解決“無法裝載數據庫”的步驟。 (hr=0x80004005, ec=-543)' 並將數據庫掛載到服務器上。 我們還討論了一種恢復郵箱的方法,當 Exchange 工具無法修復數據庫安裝錯誤時,使用 Exchange 恢復軟件(例如 Stellar Repair for Exchange)。 該軟件修復損壞或不一致的數據庫 (EDB) 文件,提取郵箱,並將它們直接恢復到實時 Exchange。 您還可以將提取的郵箱保存在 PST 中,然後手動將它們導入到您的 Exchange 服務器。

第 1 步 – 檢查並停止其他程序

安裝數據庫文件之前,請確保其他程序(例如防病毒軟件)未使用 EDB 或 STM 文件。 如果數據庫文件正在使用中,並且在掃描過程中被防病毒軟件鎖定,則會出現“無法裝載數據庫”錯誤。 (hr=0x80004005, ec=-543)' 在 Exchange Management Shell (EMS) 中安裝數據庫時可能會出現。

您可以在防病毒軟件中為 Exchange 數據庫和日誌文件添加例外,以防止出現此類錯誤或暫時停止防病毒。 同樣,您也可以檢查並關閉其他可能有權訪問您嘗試裝載的數據庫文件的實用程序。

第 2 步 - 從備份恢復數據庫

如果仍然無法掛載數據庫文件,並報錯hr=0x80004005,ec=-543,可以直接從上次的備份中恢復數據庫文件即可。 如果備份是舊的且不包含最新數據,請按照以下步驟解決錯誤並裝載數據庫文件。

第 3 步:將日誌文件移動到其他位置

通過移動當前可能損壞或損壞的日誌文件,您可以自動重新創建丟失的日誌文件。 這可能會幫助您解決問題並正確掛載數據庫。 步驟如下,

  1. 導航到存儲數據庫日誌文件的文件夾位置
  2. 創建一個任意名稱的新文件夾
  3. 現在將所有日誌文件從當前日誌文件夾移動到這個新文件夾
  4. 重啟服務器。 這將自動重新創建新的日誌文件並恢復任何丟失的日誌文件。

第四步:安裝前確保乾淨的關機狀態

在掛載脫機或卸載的 Exchange 數據庫文件之前,您應該始終檢查數據庫的關閉狀態,無論是 Clean 還是 Dirty。 要查找數據庫是否處於臟狀態,請打開命令提示符 (CMD) 並輸入以下命令,

                      Eseutil /mh<Path to EDB File>
                    

如果輸出顯示 '臟掉',您應該使數據庫進入乾淨的關閉狀態。 這可以使用以下命令完成,

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

運行上述命令後,在CMD中使用以下命令再次檢查數據庫狀態,

                      Eseutil /mh<Path to EDB File>
                    

如果您在輸出中看到完全關閉,請繼續使用 EMS 中的 Mount-Database cmdlet 裝載數據庫。 如果執行這些命令時出現任何錯誤,您可以選擇執行高級恢復方法來恢復數據庫。

第 5 步:執行部分恢復

軟恢復是在數據庫或日誌文件損壞或損壞且無法進入乾淨關閉狀態進行掛載時執行的。 在此,日誌文件在數據庫中重播以提交和更新數據庫中日誌文件中保存的最新更改。 這是使用以下 EseUtil 命令在脫機數據庫中手動完成的,

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

例如,

                      Eseutil /r E00 /l “C:Program FilesMicrosoftExchange ServerV15MailboxLogs” /d “C:Program FilesMicrosoftExchange ServerV15Mailbox Mailbox Database.edb” /i
                    
Estelar

在此之後,使用以下命令檢查數據庫是否乾淨,

                      Eseutil /mh
                    

第 6 步:執行裸機恢復(有風險)

當部分恢復失敗時,需要進行完全恢復。 但是,恢復數據庫是一種有風險的方法,因為它可能導致數據庫損壞和數據丟失。 在裸機恢復之前,備份數據庫並確保有足夠的可用存儲空間(相當於數據庫的大小)。

命令如下,

                      Eseutil /p <path to database file>
                    

現在使用以下命令檢查數據庫的狀態,

                      Eseutil /mh
                    

但是,如果數據庫仍處於不良關閉狀態且無法掛載,請使用 Stellar Repair for Exchange 修復數據庫問題。 該軟件將幫助您將郵箱作為 PST 從損壞的數據庫中提取並保存到本地存儲。 您可以將這些 PST 導入您的 Exchange 服務器並恢復用戶的郵箱。 您還可以選擇“導出到 Live Exchange”選項,直接將郵箱從損壞的數據庫文件導出到 Live Exchange,並將郵箱與用戶帳戶映射。

結論

處理數據庫掛載錯誤,例如無法掛載數據庫(HR=0x80004005,EC=-543),最安全的方法是從備份中恢復數據庫。 當備份不可用時,您還可以嘗試手動修復來檢查和修復數據庫安裝錯誤“-543”。 本指南中解釋了這些分步修復,以幫助您修復數據庫不一致、不正確關閉和輕微損壞。 但是,手動步驟需要時間並且可能導致數據丟失。 為避免這種情況並解決此問題,您可以使用 Exchange 恢復軟件將用戶的郵箱從損壞或損壞的 Exchange 數據庫 (EDB) 文件中提取並還原到實時 Exchange。

相關文章