理解動態目錄操作:Jet數據庫

  在我和管理員們的日常工作中,我發現許多人對動態目錄數據庫操作和維修缺乏全面瞭解。

  其中一個領域涉及如何在動態目錄下實現Jet數據庫的對話功能。我最近就遇到過這樣一種情況,這使得我對這些步驟比較熟悉,我認爲通過分享這些有用的信息以及回顧一些數據庫基礎知識來保持動態目錄讓人滿意,這對很多同行都是有幫助的。

  雖然動態目錄的Jet數據庫不是世界上最靈活的數據庫技術,但這些年來它在動態目錄服務中表現不俗。它的運用與Exchange Server相同,但卻不用做那麼多的維護工作。例如,你不必做重放事務日誌之類的恢復性操作。事實上,以我的經驗,活動目錄的數據庫——可以完美的進行自我修復。

  動態目錄Jet數據庫支持%SystemRoot%/NTDS並且包含Ntds.dit(數據庫)文件和事務日誌文件,如圖1(Windows 2000和2003)和圖1A(Windows 2008)所示。像其它的Jet數據庫一樣,當前數據庫是事務日誌文件及Ntds.dit數據庫文件中未被授權的記錄的結果。

動態目錄,Jet數據庫
圖1.運行在Windows 2000和2003中的動態目錄Jet數據庫

動態目錄,Jet數據庫
圖1a.運行在Windows 2008中的動態目錄Jet數據庫

  如圖2所示,Edb.chk文件指示哪些事務日誌項已經實施。每次的更新數據都被寫入.dit文件。作爲一種最佳做法,數據庫和日誌文件應存放在不同的分區(軸)。 Windows Server 2003中通過使用一個安全描述符,在存儲的效率和Ntds.dit的大小上得到了巨大的改善。如果您還在使用Windows 2000 Server的域控制器(DCs)(我知道有很多這樣的配置環境)——當您使用Windows Server 2003的時候將會大不相同。

動態目錄,Jet數據庫
圖2.事務日誌寫入Jet數據庫

  重要地是要注意,像其他事物一樣,如果把Ntds.dit加載到物理內存,依賴Ntds.dit的網域控器的操作(認證、LDAP操作,等等)會更快。Ntds.dit駐留在本地安全認證子系統(LSASS)進程分配的內存中,因此很容易看到它是否適合在物理內存中。強烈建議使用X64域控制器,因爲平面內存模型允許配置足夠的物理內存加載Ntds.dit到隨機存取內存。

  注:想要了解更多信息,請參閱我以前寫的關於動態目錄的本地安全認證子系統進程文章。

數據庫碎片整理

  在更小,更穩定的運行環境中,完全忽略數據庫維護是可行的。定期做一個聯機碎片整理並在目錄服務日誌中記錄一天記錄一次。用ID 700事件指示碎片整理開始,ID 701事件則指示其完成。

  雖然這聊勝於無,但是它還是不能擺脫數據庫中的“空白符”。例如,如果您刪除大量的對象,你就必須做一個聯機碎片整理以恢復空間。下面是執行脫機碎片整理的具體步驟來:

1、在目錄服務還原模式(DSRM)下啓動域控制器。

2、在命令提示符處打開NTDSUtil.exe。

   如果使用Windows2008 and R2,執行:Ntdsutil>Activate Instance NTDS  (使用Windows 2000 or 2003略過)

3、在NTDSUtil提示符處輸入Files回車,打開文件管理菜單。

4、在文件管理菜單中輸入一個問號(?)回車,查看所有可以使用的命令。我們可以使用Compact選項。這個選項需要一個臨時的文件地址名來存放壓縮後數據庫。

5、爲數據庫新建一個臨時的文件地址,比如C:/ESE-Backup。

6、在文件管理菜單提示符處輸入c:/ESE-Backup。

7、當壓縮完成後,你可以看到如圖3所示的回饋信息。

8、按照提示,把c:/ESE-Backup中新壓縮過的Ntds.dit複製到c:/windows/ntds/ntds.dit中(覆蓋舊文件),然後刪除這四個日誌。僅留下Edb.chk,Temp.edb 和 Ntds.dit這三個文件。

動態目錄,Jet數據庫
圖3.已完成壓縮操作

數據庫修復

  有些時候,你會發現事件指示NTDS數據庫錯誤(他們在事件中的描述很明顯)。根據一般經驗規則,當你遇到這樣的錯誤時是因爲使用了在NTDSutil主菜單中的語義數據庫分析選項,如圖4所示。

動態目錄,Jet數據庫
圖4.語義數據庫分析

  在語義檢查提示符上,有兩個選項很有意思:Go和Go Fixup。我這麼多年來從來沒有過使用這個命令的負面經驗;無論它能不能解決問題,它都不會損壞任何東西。考慮到這一點,最好使用Go Fixup(轉到鏈接地址信息)功能。我從來就無法分辨它發現的任何問題(見圖5),所以得知它是否有幫助的唯一方法就是看事件是否退出或者你在試圖修復消失的信息。再次——當你看到在事件日誌中的數據庫錯誤時就運行它,它不會造成任何損壞。

動態目錄,Jet數據庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章