Active Directory是一个被设计用于查询的非关系型数据库,Active Directory使用一段时间后,需要对数据库内容进行维护,以减少数据碎片及提高查询效率,今天我们就为大家介绍一下如何对Active Directory的数据库进行离线维护。
Active Directory创建时默认的数据库及事务日志的存放路径是C:WindowsNTDS,我们打开前文中创建的域控制器Florence,定位到C:WindowsNTDS目录下,先来了解一下下图中各文件的作用。其中的NTDS.DIT是Active Directory的数据库文件,EDB.LOG是事务日志文件,事务日志文件记录了数据库内容的变更,非常重要。默认的事务日志文件大小只有10M,如果事务日志文件已经记录满了,系统就会自动地生成edb00001.log用以继续存储事务日志,如果edb00001.log也存满了,就会接下来生成edb00002.log,以此类推。顺便提一下,在生产环境下,我们应该把数据库文件和事务文件分开存储,这样既可以提高性能,也可以增加数据安全性,但Win2003要求Active Directory的数据库和事务日志都存储在同一个硬盘上,不像Win2000中Active Directory的数据库和事务日志可以存储在不同的硬盘上。
EDB.CHK是事务日志的检查点文件,记录了硬盘上的Active Directory和内存中Active Directory在内容上的差异,一般此文件用于Active Directory的初始化或还原。RES1.LOG和RES2.LOG是系统保留的事务日志文件,这两个文件一共占用了20M空间,主要目的就是为了给Active Directory的事务日志预留20M空间,避免当硬盘空间用光后无法正常关机。
Active Directory使用一段时间后,会产生数据碎片,表现为Active Directory占用的空间增大,响应速度降低,这时就需要对Active Directory做一些碎片整理了。Active Directory的碎片整理分为在线和离线两部分,默认情况下在线整理会12小时进行一次。在线整理的好处是在数据库维护的过程中不需要关闭Active Directory,用户不会受到影响;缺点是在线整理只能在已分配的数据库空间内进行碎片整理,无法减少数据库占用的空间。如果Active Directory的规模不大,数据变更不频繁,我们使用默认的在线整理也就可以了。如果Active Directory的数据库很大,达到上G的规模,而且数据频繁更改,这时我们就要使用今天提到的离线维护了。离线维护需要对Active Directory进行脱机处理,然后再进行Active Directory的碎片整理,这个过程中Active Directory无法使用,基于AD的业务系统会受到影响,因此建议在工作空闲时间例如晚上进行。Active Directory进行脱机碎片处理后,可以有效地减少Active Directory数据库的大小,提高查询速度,有的单位经过第Active Directory进行脱机碎片处理后,可以把Active Directory的大小从11G降为6G!因此对Active Directory更新频繁,而且Active Directory内包含海量数据的单位来说,离线维护还是很有必要做的。
如何才能对Active Directory进行离线的脱机碎片整理呢?我们以域控制器Florence举例为大家演示应该如何操作,首先我们在Florence上要进入目录服务还原模式,在这个模式下,Active Directory将被脱机挂起,然后我们就可以对离线的Active Directory数据库进行处理了。如下图所示,我们重启Florence,然后在自检结束后按F8键选择进入“目录服务还原模式。
进入目录服务恢复模式后,我们输入命令 NTDSUTIL,如下图所示,我们将使用NTDSUTIL对Active Directory进行碎片整理。
;如下图所示,我们在NTDSUTIL中输入Files。如下所示,我们输入Compact To C:,意思是对Active Directory数据库清理碎片后压缩到C盘的根目录下,这样我们将在C盘的根目录下得到一个消除了Active Directory碎片的Ntds.dit。
如下图所示,大家可以发现真正压缩Active Directory的是esentutl.exe,这个工具大家以后也会经常使用,而且大家会在Exchange中发现有类似的工具,这主要是因为Active Directory,Exchange,WINS等服务器都使用了类似的非关系型数据库引擎。
;
; 如下图所示,压缩成功后我们用新的ntds.dit覆盖了原来的Active Directory数据库文件,同时删除了原有的日志文件,但仍然保留edb.chk文件。
对Active Directory进行脱机碎片处理只能在单台域控制器上分别进行,对Active Directory压缩不会影响Active Directory现有数据,也不会影响Active Directory的复制。
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05