執行 Active Directory 資料庫的離線重組

本文說明如何執行 Active Directory 資料庫的離線重組。

適用於: Windows Server 2019、Windows Server 2016、Windows Server 2012 R2
原始 KB 編號: 232122

摘要

Active Directory 會在垃圾收集過程中,於特定間隔自動執行資料庫的在線重組。 (根據預設,這會每隔 12 小時發生一次。) 在線重組不會減少資料庫檔案 (Ntds.dit) 的大小,而是優化資料庫中的數據記憶體,並回收目錄中的新物件空間。

執行脫機重組會建立新的資料庫檔案版本,而不需要內部片段。 它也會重新建立所有索引。 根據原始資料庫檔案的片段程度而定,新檔案可能會小很多。

執行 Active Directory 資料庫的離線重組

若要執行 Active Directory 資料庫的離線重組,請遵循下列步驟:

  1. 備份 Active Directory。 Windows Server Backup 原生支持在在線時備份 Active Directory。 當您在 [備份精靈] 中選取備份計算機上所有項目的選項,或選取以在精靈中備份 系統狀態 時,就會自動發生這種情況。

  2. 採取下列其中一個動作:

    • 停止 Active Directory 網域服務 或 LDS 實例。
    • 啟動 msconfig,然後移至開機窗格。 選取您要設定的 OS 安裝。 在 [開機選項] 區段中選取 [安全開機],然後選取 [Active Directory 修復專案]。 按兩下 [ 確定] 之後,工具會要求您重新啟動。 重新啟動電腦。
  3. 使用在目錄服務還原模式 SAM 中為本機系統管理員帳戶定義的密碼登入系統管理員帳戶。

  4. 開啟 命令提示字元 視窗。

  5. NTDSUTIL 會使用 TEMP 和 TMP 環境變數,在重組期間建立暫存資料庫。 如果標準磁碟區上使用的可用空間小於壓縮資料庫的大小,您會收到下列錯誤:

    檔案維護:壓縮至 d:\compactDB
    正在起始 DEFRAGMENTATION 模式...
    源資料庫:D:\windows\NTDS\ntds.dit
    目標資料庫:d:\compactDB\ntds.dit

    重組狀態 (% 完成)

    0 10 20 30 40 50 60 70 80 90 100

    |----|----|----|----|----|----|----|----|----|----|

    ..........................作業已終止,錯誤為 -1808 ( JET_errDiskFull,磁碟) 上沒有剩餘空間。

    在此情況下,請將環境變數 TMP 和 TEMP 設定為具有足夠可用空間給工作的磁碟區。 例如,使用下列設定:

    Md d:\temp
    Set tmp=d:\temp
    Set temp=d:\temp
    

    注意事項

    此問題也可能在資料庫的完整性檢查期間發生。

  6. 執行 NTDSUTIL。

  7. 輸入 activate instance ntds 以選取 Active Directory 資料庫實例。 如果您想要壓縮 LDS 資料庫,請使用 LDS 實例名稱。

  8. 輸入檔案,然後按 Enter。

  9. 輸入資訊,然後按 Enter。 這會顯示 Active Directory 資料庫及其記錄檔之路徑和大小的目前資訊。 記下路徑。

  10. 建立具有足夠磁碟驅動器空間供壓縮資料庫儲存的位置。

  11. 輸入compact to <drive>:\<directory>,然後按下 Enter。 在此命令中,佔位元 <元磁碟驅動器> 和 <目錄> 代表您在上一個步驟中建立的位置路徑。

    注意事項

    您必須指定目錄路徑。 如果路徑包含任何空格,則整個路徑必須以引弧括住。 例如,將 compact 鍵入 「c:\new 資料夾」。。

  12. 名為 Ntds.ditAdamNtds.dit 的新資料庫會建立在您指定的路徑中。

  13. 輸入 quit,然後按 Enter。 再次輸入 quit 以返回命令提示字元。

  14. 如果重組成功但未發生錯誤,請遵循 Ntdsutil.exe 畫面上的指示。 輸入下列命令 del drive :\ pathToLogFiles \*.log來刪除記錄目錄中的所有記錄檔。

    將新的 Ntds.dit 或 AdamNtds.dit 檔案複製到您在步驟 5 中記下的目前資料庫路徑中的舊資料庫檔案。

    注意事項

    您沒有刪除 Edb.chk 檔案。

  15. 如果您已停止 Active Directory 網域服務 或 LDS 實例,您可以立即重新啟動。

  16. 如果您是在 Active Directory 還原模式中工作,請啟動 msconfig 並移至開機窗格。 選取您要設定的作業系統安裝。 按兩下即可在 [開機選項] 區段中清除 [安全開機]。 當您按兩下 [確定] 時,工具會要求您重新啟動。 重新啟動電腦。