修复Exchange Server 2003 数据库

Exchange Server 2003由于数据库丢失文件或者发生错误造成邮件服务器数据库无法装载,可以通过使用 Eseutil.exe Isinteg.exe 来修复 Exchange 数据库文件(.edb 文件)。

尝试修复 Exchange 数据库只是最后的手段,因为这样的尝试可能导致数据丢失。还可以使用恢复存储组从已损坏的数据库中抢救数据。下面主要介绍如何使用Eseutil.exe Isinteg.exe 来修复 Exchange 数据库文件。

默认情况下,在 Exchange 安装过程中,会在 ..\exchsrvr\bin 目录中安装一些工具(例如,Eseutil Isinteg)。若要在服务器上全局运行这些工具(从任何命令提示符),请将 ..\exchsrvr\bin 的完整路径添加到 Windows Server 2003 系统路径中。

有关详细说明,请参阅如何将 ..\exchsrvr\bin 目录添加到 Windows Server 2003 系统路径。将 \bin 添加到系统路径之后,应该能够从服务器上的命令提示符下运行 Eseutil Isinteg。还应该能够运行 ..\exchsrvr\bin 目录中存储的其他任何工具。

1.   使用 Eseutil Isinteg 修复 Exchange 数据库会导致所修复的 Exchange 数据库丢失数据。为此,在试图执行修复过程之前,请先复制要修复的数据库文件另存到其他服务器。由于无法撤消在修复过程中对数据库的更改,因此仅将使用 Eseutil Isinteg 作为最后手段。如前所述,建议通过还原备份集而不是修复数据库来恢复损坏的数据库。

2.   如果使用 Eseutil 修复 Exchange 数据库,必须有足够的可用磁盘空间来运行 Eseutil。如果要运行 Eseutil /P,必须在同一驱动器上拥有所修复数据库大小的大约 20% 的可用空间。如果没有这么多空间,可以使用命令行开关将临时文件重定向到其他位置。如果要使用 Eseutil /D,必须有数据库大小的 110% 的空间。虽然可以像使用 /P 开关一样将临时文件重定向到另一个驱动器,但这将大幅度增加修复数据库所需的时间。如果可能,使用 /D 开关时要有充足的可用空间。

3.   使用 Eseutil Isinteg 实用程序修复数据库文件要花费相当长的时间。通常,修复数据库比从备份还原数据库花费的时间更长。

4.   如果这两个实用程序都成功运行(例如,如果最后一次运行 Isinteg 结束时没有任何错误),则通常认为数据库已修复,并且已做好替换已损坏的数据库的准备。
如果计划将修复后的数据库放回生产环境中,必须执行下列步骤:

步骤一:运行 Eseutil /P

步骤二:Eseutil /P 成功完成之后,运行 Eseutil /D

步骤三: Eseutil /D 成功完成之后,运行 Isinteg –fix –test alltests

   如果只是计划从磁盘抢救数据,而没有计划将其放回生产环境中,则可以跳过此部分前面的步骤 2。跳过步骤 2 将节约恢复过程中所需的时间,但可能导致数据库出现索引和空间分配错误。这些错误不是您希望在生产环境中发生的错误,但它们可能不会影响从数据库抢救数据的能力。

5.   在运行步骤三的时候要特别注意。Isinteg 完成之后,应当报告数据库中有零个错误。如果错误计数大于零,请再次运行 Isinteg 直到计数变为零,或在后续运行中计数不再减少。如果无法让错误计数归零,请不要将数据库放到生产环境中。请通过将文件夹合并或复制到新的数据库,或通过将邮箱移动到新的数据库,抢救数据库中的数据。

分享到