目录服务是实现网络操作系统的各种功能的关键。目录数据库则是目录服务的基础。在Windows操作系统中,必须保证其活动目录数据库的安全,否则后果不堪设想。但是,在具体应用过程中,出现一些意外在所难免。如何应对这种情况呢?
从Windows 2000开始,微软引进了活动目录技术,活动目录可以让企业有效地共享和管理网络资源和用户的信息。此外,它还扮演着网络安全性权威的角色,使操作系统准备好验证用户的身份,控制用户对网络资源的访问。活动目录是把系统集成到一起的结合点,并且起到了巩固管理任务的作用。
当前Windows网络环境是网络应用中的主要力量,而Windows网络的最大特点就是域环境。而活动目录(ActivityDirectory,AD)技术,极大地完善了域的管理功能,目前最新的Windows Server 2003网络中仍然是采用活动目录对域中各种资源进行管理。在这种管理模式中,网络里的所有资源信息都被保存在域控制器的活动目录数据库中。所以活动目录数据库对于一个Windows域环境的网络来说至关重要,活动目录数据库一旦出错或遭受到意外的损坏,比如在系统升级的过程中,致使无法正确访问域资源,将会导致网络的重大故障,甚至整个系统的崩溃。
修复工具
为了解决这一问题,在Windows Server2003 中增强了一些修复活动目录数据库的方法,其中最常用的两个实用工具是:Ntdsutil.exe 和Ntbackup.exe。
这两个工具的主要区别是,使用Ntbackup.exe进行系统修复时要用到事先准备的活动目录备份,也就是说只有备份过的信息才能够恢复;而Ntdsutil.exe 是把本机的目录服务信息通过网络复制到其他域控制器上的目录服务数据库中,单独使用Ntdsutil.exe时不需要事先有备份,但代价是由于没有备份,所以它所复制的系统资源信息可能不是完全的和最新的信息。
因此针对这两种工具的区别,Windows Server 2003建议用户首选Ntbackup.exe工具,要养成经常备份活动目录数据库的习惯,一旦在系统的目录服务出现故障的时候,可以首先用Ntbackup.exe 进行修复;在一些Ntbackup.exe 不能解决问题的情况下,再尝试使用Ntdsutil.exe 修复活动目录数据库。
一般性修复
要事先备份活动目录数据库,应在域控制器上使用Ntbackup.exe 程序,Ntbackup.exe 是图形界面的环境,可以从开始菜单的系统工具中运行。在备份过程中必须选择“系统状态”,这样才能够把活动目录备份出来。
系统故障可能出现两种情况,一种情况是系统完全崩溃已经无法启动;另一种只是目录服务故障而操作系统还可以启动。如果是前者,则必须先修复系统,比如重新安装Windows Server 2003,并且要把包括网络在内的功能调试正常后,再进行活动目录数据库的恢复工作。
无论使用哪种工具,要修复目录服务都必须在域控制器的“目录服务还原模式”下来完成,因为当目录服务正在工作的情况下是不能对它修改的。进入“目录服务还原模式”的方法是:在Windows Server 2003 域控制器启动开始时按F8 功能键,然后选择执行菜单中的“目录服务还原模式”。这种模式下启动的系统,目录服务是关闭的,这样进入系统后,就可以运行相应的工具软件Ntdsutil.exe 或者Ntbackup.exe 来修复活动目录服务数据库了。
运行Ntbackup.exe后,可以按照还原向导的指引来完成系统的还原工作,但是不要忘记,在选择还原项目时必须选中“系统状态”,如图1所示,这样才能修复包括目录服务在内的一些系统信息,否则只能恢复一般的文件内容。
“权威性”恢复
只使用Ntbackup.exe 修复Windows Server 2003 录服务的方式是“非权威性”的恢复,主要适用于单台域控制器的小型网络环境,或者是只希望恢复活动目录数据库的结构而不在乎其中数据的情况。因为在存在多台域控制器的Windows 网络中,目录服务的各种信息会在域控制器间自动复制,在复制时信息的更新是以活动目录数据库的版本为依据的,即它是靠比较活动目录数据库的版本号来判断哪一个活动目录数据库是最新的。而用Ntbackup.exe恢复回来的活动目录数据库一般是以前备份出来的旧版本,所以在目录服务重新启动后,它里面的旧信息会被其他域控制器上的当前最新的活动目录数据库信息所覆盖。
但是在有些时候,系统恰恰需要恢复到以前的目录服务环境,比如由于系统管理员的错误配置,导致当前目录服务的一些信息被修改或删除,这时就要用到“权威性”恢复。
要进行“权威性”恢复,就要使用Ntdsutil.exe 工具了。所谓“权威性”就是授权本机的活动目录数据库为权威,强迫网络中其他域控制器内保存的活动目录数据库与本机保持同步。由于有这个特点,在使用Ntdsutil.exe时要十分小心,以免由于误操作改变了整个网络的目录服务。
与Ntbackup.exe 类似,执行Ntdsutil.exe 时要先启动Windows Server 2003 的“目录服务还原模式”。如果是与Ntbackup.exe 结合使用,可以在运行完成Ntbackup.exe 后先不要重新启动系统,而直接执行Ntdsutil.exe,授权本机为权威。
Ntdsutil.exe是字符界面的程序,需要进入命令行下输入Ntdsutil 来运行,这点与Ntbackup.exe 是不同的,如图2 示例,要获得相关命令的帮助,可以输入问号(?)来查询。
进行“权威性”恢复时,首先在Ntdsutil.exe 环境中执行“Authoritative Restore”命令,然后再执行“RestoreDatabase”命令,如图2,系统会弹出对话窗口询问是否确认还原,若确认操作,系统即开始修复目录服务,然后就可以用“Quit”命令退出Ntdsutil.exe 环境了。
修复工作会将本机活动目录数据库设定到权威状态,方法是把本机活动目录数据库的版本号自动增加一个很大的号,比如一万号,这样在通过网络进行活动目录服务复制时,其他域控制器上的活动目录数据库就会以这个高版本的活动目录数据库为准了。活动目录数据库的版本号增加一万是系统在“权威性”恢复时的默认设置,如果想改变这个默认值,可以按照图2 帮助中的提示,用“Restore Database Verinc”命令来设置新的增加量。“权威性”修复后,重新启动WindowsServer 2003,网络中的所有目录服务的信息就都会按照本机的信息状态恢复了。
通过以上讨论可以看到,在Windows Server2003对目录服务的保护是比较完善的。在各种实用修复工具中以Ntbackup.exe最为常用,它不但能够恢复文件记录还能准确修复损坏的活动目录数据库等系统信息,所以管理员应该制定一个行之有效的日常备份计划,以便在应急时使用。倘若在某些时候,备份还原的方法不能满意地修复网络中目录服务信息,用户还可以选择使用Ntdsutil.exe 工具作为解决办法,从而避免网络系统瘫痪。