BLOG zzy.my

合抱之木, 生于毫末; 九层之台, 起于累土; 千里之行, 始于足下。

Exchange 2007的数据库进行脱机碎片整理

在缺省情况下,Exchange 2007邮箱服务器在数据库维护期间会自动对邮箱数据库进行在线的整理。我们可以通过下面的方法来设置维护的时间。

  1、 打开EMC,定位到服务器配置---邮箱,右键选中您要设置的数据库,选择属性,

  2、 点击general栏,点击customize,如图1所示,您可以根据自己的实际需要来设置维护时间。

Exchange

图1

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

  一、Eseutil 碎片整理的工作原理

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

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

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

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

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

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

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

  三、何时运行 脱机碎片整理命令

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

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

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

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

  四、何时不应该运行 脱机碎片整理命令

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

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

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

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

  五、如何对邮箱服务器上的 Exchange 数据库进行碎片整理

  1. 在 Exchange 管理控制台中,右键单击要进行碎片整理的数据库,然后单击"卸除数据库"。

  2. 在命令提示符下,指向\bin 位置。

3. 输入下面的命令,然后回车,这时系统对数据库进行整理,并出现进度提示,如图2所示,

Exchange

图2

  eseutil /d "E:\exchange server\mailbox\first stroage group\Mailbox Database.edb"

  您需要将first stroage group替换为时间的储存组名称,Mailbox Database替换为实际邮箱数据库名称。

  4. 当该命令完成后,系统会提示您对数据库执行一次完整的备份。如图3所示。

Exchange

图3

六、若要对 Exchange 数据库进行碎片整理,同时保证临时文件完好无损,可在命令提示符下运行以下命令:

  eseutil /d "E:\exchange server\mailbox\first stroage group\Mailbox Database.edb" /p

  此命令可能非常有用,因为它可以保证原始数据库完好无损,不会覆盖原始数据库。此选项会增大碎片整理所需的可用磁盘空间大小。这是因为需要为两个额外的 Exchange 数据库副本提供空间。

  这时系统会在当前目录下生成一个临时的数据库文件,如图4所示。

Exchange

图4

  七、若要对 Exchange 数据库进行碎片整理,但是将临时文件放在另一个逻辑驱动器上,则在命令提示符下运行以下命令:

  eseutil /d "E:\exchange server\mailbox\first stroage group\Mailbox Database.edb" /t c:\temp.edb

  八、对中心传输服务器或边缘传输服务器上的 Exchange 数据库进行碎片整理

  1. 若要卸除队列数据库,请在"服务"管理单元中停止 Microsoft Exchange 传输服务。

  2. 在命令提示符下,指向\bin 位置。

  3. 运行下面的命令对传输队列数据库进行脱机碎片整理:

  eseutil /d "D:\exchange server\TransportRoles\data\Queue\mail.que"

  队列数据库的默认名称为 mail.que

Loading