Eseutil /D 碎片整理模式

 

上一次修改主题: 2006-08-17

Eseutil 的 /D 开关可用于对数据库进行脱机碎片整理和压缩。碎片整理选项可使已使用的存储连续化,消除未使用的存储,并压缩数据库,从而减小数据库大小。有关如何使用 Eseutil /D 语法的说明,请参阅如何运行 Eseutil /D(碎片整理)

Eseutil 的 /D 开关可用于对数据库进行碎片整理和压缩。在一般操作期间,数据库文件从不缩小到低于当前大小。由于数据库空间是通过删除项释放的,因此现有页面在可能时会重新使用。通常,Microsoft® Exchange Server 数据库在投入使用后的几个月内会增大,但最后数据库大小会稳定下来。

通常情况下,执行脱机碎片整理不会永久性恢复巨大的磁盘空间。文件通常将再次增大到之前未进行碎片整理时的大小。在特殊情况下,如将很多邮箱移到数据库之外的情况下,可能值得对数据库进行脱机碎片整理。默认情况下,在一般操作期间,每夜对数据库进行逻辑碎片整理。该操作不会减少磁盘上文件的大小,但可以使数据库的运行更加高效。

note注意:
可以使用 Eseutil 实用程序对 Microsoft Exchange Server 5.5 中的信息存储和目录进行碎片整理,并对 Microsoft Exchange 2000 和更新版本中的信息存储进行碎片整理。

Eseutil Defrag 如何工作?

Eseutil 通过消除未使用的存储和压缩数据库对数据库进行碎片整理时,Eseutil 实际上创建了一个新的数据库,新数据库中包含原有数据库的所有信息。碎片整理完成后,原有数据库将被删除或保存到用户指定的位置,然后新的版本被复制到原有数据库的位置。如果实用程序在数据库中遇到严重的逻辑问题,碎片整理将停止。此时必须首先使用 Eseutil /P 修复数据库,然后才能对其进行碎片整理。

执行脱机碎片整理时,Exchange 将生成数据库文件(.edb 文件)和流式数据库文件(.stm 文件)的临时副本。.edb 文件中的表格将予以保留并复制到临时数据库,但空白页和索引将被丢弃。由于这会导致数据库中的物理页数目发生更改,所以不会不加修改地复制页面;页面之间的所有页面链接将被更新,并且数据库中剩余的所有页面都将接受完整性检查。.stm 文件中包含相关信息的所有页面都将保留在临时 .stm 文件中,对这些页面的引用将在 .edb 文件中更新。

对数据库进行碎片整理要花费多长时间?

完成碎片整理的时间长度取决于数据库中空白部分的大小,而不是数据库文件的大小。例如,包含 10 GB 数据的 100 GB 数据库进行碎片整理所花的时间等同于包含 10 GB 数据的 11 GB 数据库进行碎片整理所花的时间。

默认情况下,碎片整理完成后,临时数据库自动成为新的生产数据库,而原有的生产数据库将被删除。如果同一逻辑驱动器上的可用空间大小相当于原有数据库文件的大小,则碎片整理所花的时间将大大减少。在这种情况下,临时数据库可置于同一逻辑驱动器上,最终副本几乎可以立刻完成。

建议不要使用网络驱动器保存临时数据库。如果使用网络驱动器保存临时数据库,碎片整理所花的时间会更长,并且任何暂时或永久的网络错误都将中止该过程。由于碎片整理无法继续,您必须从头重新开始。

note注意:
额外的逻辑驱动器磁盘空间只需相当于碎片整理后最终的文件大小。尽管无法精确预测将回收多少磁盘空间,但为安全起见,建议您留下可用磁盘驱动器空间的 110%。有关如何确定碎片整理所用磁盘空间数量的详细信息,请参阅 Microsoft 知识库文章 195914“确定 Exchange 5.5 Service Pack 1 以及更高版本的 Exchange 的可用数据库空间”(https://go.microsoft.com/fwlink/?linkid=3052&kbid=195914)。

何时运行 Eseutil /D?

有多种情况适合运行 Eseutil /D 对 Exchange 数据库进行碎片整理。以下包括这些情况:

  • 数据库中存在大量可回收且将不再重新使用的空白空间。例如,当数据库中的邮箱数量大大减少时。
  • 应用程序日志中重复记录某个事件,提醒您对数据库进行脱机碎片整理。这种情况很少见,多发生在一般的联机碎片整理不能再对数据库进行高效碎片整理时。
  • 当标准版本的 Exchange 上已达到 16 GB 的数据库大小限制,且空白空间必须回收以装载数据库时。如果运行的是 Exchange Server 2003,则应安装 Service Pack 2 (SP2),以将限制提高到 75 GB。有关增加数据库大小限制的详细信息,请参阅 Microsoft 知识库文章 828070“当邮箱存储数据库达到 16 GB 限制时,Exchange Server 2003 邮箱存储无法装入”(https://go.microsoft.com/fwlink/?linkid=3052&kbid=828070)。
note注意:
使用 Eseutil 对数据库进行碎片整理后,建议您对数据库执行完整备份。由于数据库碎片整理创建新的数据库文件,而这些文件具有新的数据库签名,因此需要执行完整备份。还原后的日志文件重播取决于数据库签名是否与事务日志文件中记录的预期值相匹配。碎片整理前进行的任意数据库备份所包含数据库文件的签名将不同于经过碎片整理的新数据库。如果还原旧的数据库,则不会重播已绑定到经过碎片整理的新数据库文件的新事务日志。

何时不运行 Eseutil /D?

有多种情况不适合运行 Eseutil /D 对 Exchange 数据库进行碎片整理。以下包括这些情况:

  • 不应将 Eseutil Defrag 运行为任何类型的标准维护。Exchange 每夜自动运行联机碎片整理,处理 Exchange 的日常维护。除非有特殊情况,否则不能定期运行脱机碎片整理。
  • 当数据库未处于一致状态下时,Eseutil Defrag 无法运行。
note注意:
通常,除非要恢复大于 20% 的可用空间,否则碎片整理可能不会永远缩小数据库文件。

详细信息

有关详细信息,请参阅 Exchange Server 数据库实用程序指南中的以下主题: