共用方式為


針對 Jet 資料庫錯誤和復原步驟進行疑難解答

本文介紹 Jet 資料庫錯誤訊息和疑難解答步驟。

原始 KB 編號: 4042791

摘要

在操作系統啟動、域控制器安裝/卸載或 Active Directory 複寫期間,您可能會遇到 Jet 錯誤訊息。 本文介紹 Jet 錯誤訊息及其解決方案。

錯誤訊息

-501 JET_errLogFileCorrupt

原因

硬體在寫入時損毀 I/O,或硬體 遺失排清 導致記錄變得無法使用。 通常資料庫 (DB) 會處於損毀狀態。

解決方法

從已知的良好備份還原資料庫,或重新安裝域控制器 (DC)。

-510 JET_errLogWriteFail/寫入記錄檔失敗

原因

發生記錄寫入失敗。 此問題可能是由下列任一項所造成:

  • 控制器、硬碟或其他硬體停止回應磁碟命令。
  • 軟體,例如防病毒軟體,在 Active Directory 記錄檔上建立鎖定。

解決方法

  1. 如果這是硬體問題,伺服器重新啟動將會還原存取權。 如果問題經常發生,您可以升級韌體、取代控制器,或依該順序取代磁碟。

  2. 針對軟體所造成的問題,請停止在文件系統中建立檔案鎖定的服務。 例如,判斷防病毒軟體是否造成 Active Directory 記錄檔的鎖定。 請確定已將適當的檔案新增至防毒排除清單。 Windows Server 2016 會自動從防毒掃描中排除特定檔案和資料夾,請參閱 自動排除清單。 針對 Windows Server 2012 R2,請參閱:

如果步驟 1 和 2 未修正此問題,請藉由停用這些項目來判斷非Microsoft應用程式或服務是否造成問題。 若要這樣做,請遵循下列步驟:

  1. 按 Windows 鍵 + R。輸入 MSCONFIG ,然後按兩下 [ 確定]。 在 [服務] 索引標籤上,選取 [隱藏所有Microsoft服務]。 清除第三方服務的複選框。
  2. 停用所有啟用的啟動專案。
  3. 重新啟動伺服器。

-528 JET_errMissingLogFile

原因

這可能是因為電源中斷或其他非預期的關機所造成的非預期關機所造成。 其他原因包括對記錄檔的系統管理員變更(例如複製舊復本)或損毀的備份/還原軟體(如果在還原後立即)。

解決方法

從已知良好的備份還原資料庫,或重新安裝DC。

-543 JET_errRequiredLogFilesMissing

請參閱 -528 / JET_errMissingLogFile (上圖)。

原因

系統管理員已修改記錄,或在關機時遺失 I/O 排清。

-550 JET_errDatabaseDirtyShutdown

原因

系統管理員已修改記錄,或在關機時遺失 I/O 排清。

-551 JET_errConsistentTimeMismatch

原因

系統管理員已修改記錄,或在關機時遺失 I/O 排清。

-567 JET_errDbTimeTooNew

原因

磁碟子系統遺失 I/O,可能是在停止回應或未排程關機時。

解決方法

確認磁碟快取的電池備份。

-1018 JET_errReadVerifyFailure/資料庫頁面上的總和檢查碼錯誤

原因

資料庫因硬體故障而損毀。

解決方法

  • 評估磁碟堆疊,包括主機板/控制器、韌體、連接纜線和實體磁碟驅動器,並連絡相關廠商以取得已知問題。 比較您目前的組態與廠商的參考組態。
  • 評估問題是否可以由最新的韌體更新解決,或是由最近的韌體更新觸發。
  • 如果某些 DC 正在記錄 -1018,而相同環境中的其他 DC 則不是,請在硬體組態中尋找差異。
  • 記錄此錯誤的資料庫無法透過NTDSUTIL或ESENTUTL中的完整性檢查或語意資料庫分析來復原或修復。
  • 離線重組可能會修正問題,因為問題不太可能是因為索引一致性問題所造成。
  • 請嘗試脫機重組。 或者,還原早於損毀的系統狀態備份。 或者強制降級、執行完整的元數據清除,然後重新產生。 如果出現 -1018 錯誤,請重複直到解決硬體根本原因為止。

當 Jet 錯誤 -1018 發生在只在同一部虛擬主機上執行的虛擬主機上時,只有在使用面板上的 RAID 控制器的電腦上執行時,可能會發生此錯誤,因為無法中斷電源供應器 (UPS) 缺少足夠的電源供機上突襲控制器在電力中斷后認可磁碟變更。 因應措施是設定 UPS 軟體,以在電力中斷時關閉虛擬化來賓。 具有專用(非內建)突襲控制器且其電池備份的伺服器不會發生 -1018 JET 錯誤。

-1019 JET_errPageNotInitialized / 空白資料庫頁面

原因

這就像 -1018 錯誤,但由於頁面排清遺失。

遺失的排清可能代表重大 USN 變更。 若無法將相同的變更套用至本機 DC,或套用至可轉移的複寫夥伴,可能會對單一復寫路徑存在有害。

解決方法

在伺服器類別的硬體和磁碟子系統元件上部署 OS。

  • 在主電腦上安裝UPS。
  • 安裝具有內建電池備份的磁碟控制器。
  • 停用磁碟驅動器控制器上的回寫快取。
  • 避免放置 NTDS。IDE 磁碟驅動器上的 DIT 和 LOG 檔案。

記錄此錯誤的資料庫無法透過NTDSUTIL或ESENTUTL中的完整性檢查或語意資料庫分析來復原或修復。

脫機重組可能會解決問題,因為問題不太可能是因為索引一致性問題所造成。

請嘗試脫機重組。 或者,還原早於損毀的系統狀態備份。 或者,強制降級、執行完整的元數據清除,然後重新編寫。 重複,直到解決硬體根本原因為止。

-1021 JET_errDiskReadVerificationFailure / 從檔案 IO 傳回的 OS ERROR_CRC

Jet 錯誤 -1021 是 Windows Server 2008 R2 的新功能。 Windows Server 2008 R2 之前的 Windows 版本會改為傳回 -1022。

-1021 識別磁碟層級發生的 -1018 錯誤。 換句話說,-1021 表示磁碟驅動器傳回不正確的檢查總和錯誤,而且是磁碟堆棧中問題的特定來源。

原因

問題可能是因為硬碟上可能會追蹤的硬碟上的錯誤區塊所造成。

解決方法

拿掉並重新安裝域控制器上的 Active Directory 可能會觸發在狀況良好的區塊上儲存數據。

-1022 JET_errDiskIO / 磁碟 IO 錯誤

原因

一般磁碟錯誤。 磁碟 IO 錯誤表示作業系統在存取磁碟時發生非特定錯誤。 當控制器傳回一般錯誤,例如「裝置無法運作」時,可能會記錄此錯誤。某些磁碟和 Jet 版本會針對 CRC 問題傳回此錯誤。

解決方法

確認整個驅動程式堆疊。

-1206 JET_errDatabaseCorrupted

原因

此錯誤與遺漏/損毀的記錄檔相同。 此錯誤表示 發生遺失的排清

-1216 JET_errAttachedDatabaseMismatch

原因

系統管理員已修改記錄,或在關機時遺失 I/O 排清。

-1605 JET_errKeyDuplicate /非法重複索引鍵

原因

零星錯誤。 此錯誤可能是因為索引損毀所致。

解決方法

在 DC 上移除並重新安裝 Active Directory。 執行 NTDUSITL 語意資料庫分析。 如果問題持續發生,請執行脫機重組。

-1811

原因

系統管理員已修改記錄,或在關機時遺失 I/O 排清。

疑難排解

您可以使用這些方法來針對 Jet 資料庫錯誤進行疑難解答:

  1. 確認所有 Active Directory 資料庫和記錄檔都部署在適當的硬體上。

    許多但並非所有 SATA 和 IDE 磁碟驅動器都不支援寫入排清命令。 SAS 磁碟驅動器確實支援它。

    Active Directory 資料庫和記錄檔應在 SAS 控制器 DC 上使用 SAS 磁碟驅動器,這些磁碟驅動器在任何寫入快取元素上都有電池備份。

  2. 如果0xc00002e1 (c00002e1) 和 0xc00002e2 (c00002e2) 是 Windows Server 2012 Hyper-V 主機上執行的虛擬客體域控制器,請在 Hyper-V 主機伺服器視需要於主機和客體 DC 上遇到非計劃性重新啟動時,安裝與 IDE 鏈接虛擬硬碟遺失一致性的修正程式

  3. 檢查 LSASS 0xc00002e1 (c00002e1) 和 0xc00002e2 (c00002e2) 開機錯誤之前的事件是否表示下列其中一個問題:

    • 未排程的電源中斷。
    • 系統停止回應。
    • 安裝 Windows 更新或 Service Pack。
    • 將磁碟、磁碟區或分割區新增或移除至本機系統。
    • 硬碟故障。
    • NTDS。DIT 或一或多個記錄檔是從另一部計算機複製,甚至從這個 DC 生命週期的先前點複製。
    • Unknown
  4. 將電腦啟動至目錄服務還原模式。

  5. 最佳做法:進行系統狀態備份,以便復原復原會話期間所做的任何變更。

  6. 最佳做法:請先要求系統管理員找出最新的系統狀態備份,以便您將系統狀態備份的存在或不存在納入復原計劃。 如果可能的話,讓系統管理員委派任何備份的位置。

  7. 執行 NTDSUTIL -> 檔案 -> 資訊。

    注意

    NTDS 的路徑。DIT 和記錄檔。

  8. 確認裝載 NTDS 的磁碟驅動器。操作系統啟動時可以使用 DIT 或記錄檔。

  9. 開啟 Windows 檔案總管,並確認 NTDS。DIT 和記錄檔存在於步驟 7 所報告的記錄檔路徑中。

    如果檔案存在,請繼續進行步驟 10。

    如果檔案不存在,請搜尋 NTDS 的所有可用磁碟驅動器和磁碟區。屬於此 Active Directory 實例的 DIT 和記錄檔。

    警告

    可能會有多個 NTDS。本機磁碟驅動器上有 DIT 和記錄檔。 使用日期和時間戳來找出正確的實例。

    視需要更正資料庫和記錄檔路徑的路徑。

  10. 確認有問題的 OS 版本檔案許可權。

    注意

    操作系統在 Windows Server 2003 上需要足夠的許可權。

    客戶​​ 權限 繼承
    系統 完全控制 這個資料夾、子資料夾及檔案
    管理員 完全控制 這個資料夾、子資料夾及檔案
    建立者擁有者 完全控制 僅限子資料夾和檔案
    本機服務 建立資料夾/附加數據 此資料夾和子資料夾
    • 裝載 NTDS 之磁碟區的根目錄。DIT 和 NTDS 記錄檔(系統需要完全控制)
    • %windir% 資料夾 (亦即 c:\windows 或 c:\winnnt) (系統需要完全控制)
    • 裝載 NTDS 的資料夾。DIT 和 NTDS 記錄檔(請參閱下方的權限表)
    • NTDS 記錄檔本身(請參閱下表中的 perms 表)
  11. 確認正確的記錄檔位於記錄檔目錄中:

    NTDSUTIL /FILES 會在不同時識別資料庫目錄和記錄檔目錄。 NTDSUTIL /MH 會識別記錄檔目錄中需要哪些記錄檔。

    在任何情況下,都應該將資料庫或記錄檔從某個 DC 複製到另一個 DC,讓第二個 DC 能夠運作。

  12. 確認裝載 NTDS 的任何磁碟區上都未啟用磁碟或檔案壓縮。DIT 或記錄檔磁碟區。

  13. 驗證 NTDS 中資料庫的健康情況。從下到上 DIT。

    從上到下驗證 Jet 資料庫健康情況。 只有在基礎層完成且沒有錯誤時,才會繼續進行下一層。

    針對 ESE 邏輯或應用程式邏輯一致性在實體一致性仍然失敗時所回報的任何錯誤進行疑難解答,會導致您降低不正確的疑難解答路徑。

    每個稍後的對等 NTDSUTIL 和 ESENTUTL 命令如下所示:

    NTDSUTIL 命令 ESENTUTL 對等命令
    1. 實體一致性 沒有對等專案 ESENTUTL /K
    2. ESE 邏輯一致性 NTDSUTIL FILES 完整性 ESENTUTL /G
    3. 應用程式邏輯一致性
    NTDSUTIL ->Semantic 資料庫分析

    +

    NTDSUTIL -> 脫機重組
    沒有同等項目。 執行 NTDSUTIL -> SDA

    +

    ESENTUTL / D
  14. 查閱使用者動作,瞭解步驟 13 期間發生的第一個失敗 Jet 錯誤。 可能的話,請執行補救。

  15. 修復 Jet 資料庫:

    • 您可以使用 NTDSUTIL 和 ESENTUTL 來修復某些 Jet 資料庫錯誤。
    • 無法修復某些 Jet 資料庫錯誤,任何修復錯誤的嘗試都會失敗。 在這種情況下,您唯一的追索方式可能是還原早於損毀的系統狀態備份,或建置新的伺服器。 如果復本 DC 是最新的,請在嘗試減輕任何硬體或軟體相關錯誤的根本原因之後,將其他復本升級至網域。

    注意

    NTDS General 事件 1168 中傳回的 Jet 錯誤是應用層錯誤。 除非 Jet 實體一致性和應用程式邏輯一致性檢查 ,否則請勿針對此 Jet 錯誤採取動作,否則會以該順序測試,而不會發生錯誤。

相關資訊

如需詳細資訊,請參閱下列Microsoft文章:

域控制器未啟動、發生 c00002e2 錯誤,或顯示「選擇選項」

什麼是遺失的 IO/遺失排清

當應用程式將數據寫入磁碟時,磁碟會指出寫入的作業成功。 不過,當應用程式嘗試讀取它剛寫入的數據時,數據就不存在。 此問題稱為遺失 I/O 或遺失排清。

資料收集

如果您需要Microsoft支援方面的協助,建議您遵循使用 TSS 收集 Active Directory 複寫問題的資訊中所述的步驟來收集資訊。