Eseutil /D 碎片整理模式

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2009-03-16

可以使用 Exchange Server 数据库实用程序 (Eseutil.exe) /D,以脱机方式对数据库进行碎片整理和压缩。碎片整理选项可形成连续的已用存储空间,释放不用的存储空间,并压缩数据库,从而减小数据库文件的大小。

有关如何使用 Eseutil /D 语法的说明,请参阅如何运行 Eseutil /D(碎片整理)

在正常操作期间,数据库文件绝不会收缩到低于当前大小。通过删除项目释放数据库空间时,会尽可能重新使用现有页。通常,Microsoft Exchange Server 数据库在投入使用之后的几个月会增大,但是最终数据库大小会稳定下来。

在正常情况下,执行脱机碎片整理不会永久地恢复大量磁盘空间。文件将很可能会重新增大到碎片整理之前的大小。

Eseutil 碎片整理的工作原理

在碎片整理过程中,Eseutil 将新建一个数据库,该数据库包含原数据库中的所有信息。碎片整理完成后,将删除原数据库或将其保存到用户指定的位置,然后将新版本重命名为原名称。如果该工具遇到错误记录,则将停止并显示错误消息。

执行脱机碎片整理时,Exchange 会生成一个数据库文件的临时副本。数据库文件中的表将被保留并复制到临时数据库中,但会丢弃空页并重建索引。因为此操作将更改数据库中的物理页码,所以,不会原封不动地复制页面。页面之间的页链接将全部更新,并会对数据库中保留的所有页进行完整性检查。

数据库碎片整理所需的时长

完成碎片整理所需的时长取决于数据库的空白空间数量,与数据库文件的大小无关。例如,对同样包含 10 GB 数据的 100 GB 数据库和 11 GB 数据库进行碎片整理,所用的时间几乎相同。

默认情况下,碎片整理完成之后,临时数据库将自动成为新的生产数据库,原生产数据库文件将被删除。如果相同逻辑驱动器上拥有与原数据库文件大小相同的可用空间,则可明显缩短碎片整理所需的时间。在这种情况下,临时数据库可以放在相同的逻辑驱动器上,最终副本几乎瞬时完成。

建议不要使用网络驱动器存储临时数据库。如果使用网络驱动器存储临时数据库,则将延长碎片整理所需的时间,并且任何暂时或永久的网络错误都将导致碎片整理过程终止。而由于碎片整理不可恢复,所以必须从头重新开始。

note注意:
只需要与碎片整理后的文件最终大小相同的额外逻辑驱动器磁盘空间。尽管无法精确地预测将回收的磁盘空间量,但仍应以 110%(建议值)的比例保留可用磁盘驱动器空间。

如何确定数据库中的可用空间量

对数据库执行联机碎片整理之后,Exchange 数据库文件中的可用空间量将显示在事件日志中记录的事件中。在正常数据库维护期间,将自动执行联机碎片整理。此外,即使关联的日志记录级别被设置为“无”,也将在事件日志中记录该事件。对于邮箱数据库或公用文件夹数据库,将在事件日志中记录与以下事件类似的事件:

事件类型:信息

事件源:MSExchangeIS Mailbox Store

事件类别:常规

事件 ID: 1221

日期: 8/16/2006

时间:9:15:00 AM

用户:无

计算机:计算机名称

说明:终止联机碎片整理之后,数据库“存储组\邮箱数据库”的可用空间为 nnn MB。

note注意:
在 Exchange Server 2007 中,事件 ID 1221 的消息描述包含以下文本:终止联机碎片整理之后,数据库“存储组\邮箱数据库”的可用空间为 nnn MB。 存储组是存储组的名称,邮箱数据库是邮箱数据库的名称,nnn 是可用空间量 (MB)。计算机名称是 Exchange Server 计算机的名称。

对于队列数据库(驻留在 Exchange 边缘传输服务器角色或中心传输服务器角色上的传输数据库),将在事件日志中记录与以下事件类似的事件:

事件类型:信息

事件源:MSExchangeTransport

事件类别:组件

事件 ID:7007

日期:2006 年 8 月 16 日

时间:上午 1:00:02

用户:无

计算机:计算机名

说明:对数据库 mail.que 的联机碎片整理已完成。数据库的可用字节数为 nnn

note注意:
在前面的说明中,nnn 是可用空间量(字节)。计算机名称是 Exchange Server 计算机的名称。

确定可用空间量的另一种方法是对脱机数据库文件运行 Eseutil /ms,以进行空间转储。(例如,运行以下命令:eseutil /ms Mailbox Database.edb)。空间转储会输出一个表。将该表中“Available”列的数字乘以页大小,就可确定数据库文件的可用空间。有关 Eseutil 文件转储模式的详细信息,请参阅 Eseutil /M 文件转储模式

何时运行 Eseutil /D

有些情况适合通过运行 Eseutil /D 对 Exchange 数据库进行碎片整理。下表描述了其中的一些情况:

  • 数据库中存在大量可以回收并且不会再使用的可用空间。

  • 存在影响数据库文件索引的 ESE -1018 错误。在这种情况下,脱机碎片整理会重建索引。运行脱机碎片整理可以有效地消除此类损坏。

  • 数据库文件已使用 Eseutil /P 进行修复。运行了修复之后,应对数据库文件执行 Eseutil 脱机碎片整理。

  • 驻留在 Exchange 2007 中心传输服务器或边缘传输服务器上的队列数据库文件上出现邮件风暴。邮件风暴是指大量邮件,其填满传输队列的速度超过了传输服务可以达到的电子邮件处理速度。此行为使队列中填满了邮件,队列数据库将根据需要进行扩展。处理了风暴中的邮件并对数据库运行了联机碎片整理之后,部分可用空间会保留在数据库中。若要回收此可用空间并缩小数据库,则可运行 Eseutil /D 执行脱机数据库碎片整理。

何时不运行 Eseutil /D

有些情况不适合通过运行 Eseutil /D 对 Exchange 数据库进行碎片整理。下表描述了其中的一些情况:

  • 不应将运行 Eseutil 脱机碎片整理作为任何类型的标准维护活动。Exchange 会在夜间运行自动联机碎片整理,处理 Exchange 的日常维护。对于日常维护、月度维护或年度维护,都不需要运行脱机碎片整理。

  • 如果数据库未处于一致状态,则不应运行 Eseutil 碎片整理。

  • 如果可将邮箱移动到某个可用数据库,则不应运行 Eseutil 脱机碎片整理。这样做可以减少最终用户的停机时间。因为脱机碎片整理是通过脱机方式完成的,所以在碎片整理过程中,用户将无法访问其邮箱。为了减少对最终用户的影响,建议您通过执行移动邮箱操作,将邮箱移动到其他可用数据库。有关详细信息,请参阅移动邮箱

  • 如果 ESE -1018 错误影响了数据库文件的数据部分,则不应运行 Eseutil 脱机碎片整理。在这种情况下,脱机碎片整理将检测到该错误,从而无法继续。

详细信息

有关 Eseutil 的详细信息,请参阅下列主题: