Exchange Server 2003 中的按需任务

 

上一次修改主题: 2005-01-25

Microsoft® Exchange Server 数据库可以随着时间的推移而增长并且碎片化程度变高,从而导致可能影响用户的性能问题。可以通过使用 Exchange Server 中的可用工具识别 Exchange Server 数据库中的差异。也可以检查队列查看器、监视 Exchange 服务器的性能以及识别正常和异常趋势。通常,按需任务在监视工具报告错误或用户向帮助中心报告问题时执行。

您可能需要执行下列按需维护任务:

  • 对邮箱和公用文件夹存储进行碎片整理   Exchange 数据库随着时间的推移可能被分成许多碎片,从而导致性能问题。通过对数据库进行碎片整理,可减小文件大小并创建连续存储空间。通过使用 Exchange Server 数据库实用程序 (Eseutil.exe) 对 Exchange 数据库进行碎片整理。
  • 验证邮箱和公用文件夹存储完整性   可以通过使用信息存储完整性检查器 (Isinteg.exe) 验证并修复数据库的完整性,以解决 Exchange 数据库中的不一致。也可以使用 Eseutil.exe 工具来检查数据库完整性。
  • 检查队列   可以使用队列查看器来检查队列。通过此活动,可以识别队列中可见的正常和异常邮件趋势。许多邮件备份在队列中可能表明安全威胁、垃圾邮件攻击或网络性能问题。
  • 配置性能控制台   可以配置系统监视器(Microsoft Windows NT® 4.0 中的性能监视器)来监视 Exchange 服务器的性能,以便确定哪些是正常的以及可以执行哪些更改来改善性能。

Exchange 2000 Server 和 Exchange Server 2003 数据库的联机和脱机碎片整理

Exchange Server 数据库需要碎片整理。具体地说,Exchange Server 数据库碎片整理是指重新安排邮箱存储和公用文件夹存储的数据,以便更有效地填充数据库页,从而消除未使用的存储空间。Exchange 数据库碎片整理有两种类型:联机和脱机。

联机碎片整理

联机碎片整理是发生在 Exchange 数据库维护期间的若干数据库相关过程中的一个过程。默认情况下,Exchange 服务器在每天的当地时间 01:00(凌晨 1:00)至 05:00(早上 05:00)之间自动运行 Exchange Server 数据库维护。联机碎片整理在 Exchange Server 数据库保持联机时发生。因此,在联机碎片整理过程期间,您的电子邮件用户对邮箱数据有完全访问权限。

联机碎片整理过程涉及自动检测和删除那些不再使用的对象。此过程可提供更多的数据库空间,而无需实际更改正在进行碎片整理的数据库的文件大小。

note注意:
若要提高碎片整理和备份过程的效率,请安排维护过程和备份操作在不同的时间运行。在联机碎片整理启动之后运行联机备份将立即结束联机碎片整理过程。

您可以通过两种方式安排数据库碎片整理:

  • 若要为单个数据库的数据库碎片整理做出日程安排,请使用邮箱存储或公用文件夹存储对象的“数据库”选项卡上的“维护间隔”选项。
  • 若要为邮箱存储和公用文件夹存储集合的数据库碎片整理做出日程安排,请使用邮箱存储或公用文件夹存储策略的“数据库(策略)”选项卡上的“维护间隔”选项。

有关如何创建邮箱存储策略或公用文件夹策略的详细信息,请参阅 Exchange 2000 Server 或 Exchange Server 2003 帮助中的“创建邮箱存储策略”和“创建公用文件夹存储策略”。

脱机碎片整理

脱机碎片整理涉及使用 Exchange Server 数据库实用程序 (Eseutil.exe)。Eseutil 是 Exchange Server 工具,可用于对 Exchange Server 数据库进行碎片整理、修复和检查完整性。

默认情况下,在运行 Exchange 2000 Server 或 Exchange Server 2003 安装程序后,Eseutil 位于 <驱动器>:\<安装根目录>\exchsrvr\bin 目录中(其中 <驱动器> 是驱动器的驱动器号,<安装根目录> 是在其中安装 Exchange Server 的安装路径)。

只能在 Exchange Server 数据库脱机时执行脱机碎片整理。因此,在脱机碎片整理过程期间,您的电子邮件用户对邮箱数据将没有访问权限。数据库必须处于“干净关闭”状态,才能在其上运行脱机碎片整理。

在脱机碎片整理过程期间,Eseutil.exe 会创建一个新数据库。它只将使用中的数据库记录复制到新数据库文件中,从而生成一个新的紧凑的数据库文件。脱机碎片整理是减小数据库物理文件大小的唯一方法。在下列情况下应执行脱机碎片整理:

  • 执行数据库修复后(使用命令 Eseutil /p
  • 从 Exchange Server 数据库移动大量的数据后
  • 如果在使用 Microsoft 产品技术支持服务时指示您执行该操作,或在解决特定问题时现有文档要求进行脱机碎片整理。
important重要提示:
只有在将许多用户从 Exchange Server 数据库中移出或修复数据库之后,才应该考虑执行脱机碎片整理。如果在不需要时执行脱机碎片整理,则可能影响性能。若要确定在对数据库执行脱机碎片整理后将重新获得多少空间,请检查 Exchange 服务器应用程序日志中的事件 1221。由于脱机碎片整理是一个冗长的过程,因此对数据库执行脱机碎片整理时还应考虑时间因素。
important重要提示:
此外还必须注意,脱机碎片整理需要大约 110% 的原始数据库空间才能成功。这是因为 Eseutil 工具实际上是在原始数据库文件之外,再创建一个新数据库文件。两个文件必须在磁盘上共存。但是,可以通过使用 Eseutil /t 开关将临时数据库文件重定向到其他硬盘。使用此开关会增加完成碎片整理过程所需的时间。也可以使用网络磁盘。但是,并不推荐使用网络磁盘,因为它会显著增加完成碎片整理过程所需的时间。此外,还易遭受网络可用性问题的风险。

当使用 Eseutil.exe 对 Exchange Server 数据库进行碎片整理时,请考虑下列因素:

  • 当以碎片整理模式运行 Eseutil.exe 时(使用 Eseutil /d 命令),还可以还包括一个 /p 开关。在执行碎片整理操作时包括额外的 /p 开关,可以保留正在进行碎片整理的原始数据库,以防需要还原到此数据库。如果在脱机碎片整理过程中,原始数据库和临时数据库位于不同的驱动器上,则使用 /p 开关可不必将经过碎片整理的数据库复制到原始数据库位置。然后需要使用与原始数据库相同的名称手动重命名新创建的临时数据库,并使用 Windows 资源管理器手动将该数据库移动到正确位置。
  • 因为脱机碎片整理实际上会创建新数据库、数据库文件和日志文件签名,所以应在执行脱机碎片整理后立即创建新的 Exchange Server 2003 数据库备份。新的经过碎片整理的数据库文件将具有不同的数据库签名。因为数据库和事务日志是基于签名指向彼此的,所以执行脱机碎片整理后,此数据库以前的所有备份都将失效。表 1 提供有关 Eseutil 操作模式的信息。

表 1   Eseutil 操作的模式

操作模式 任务

Eseutil /d

对数据库执行脱机压缩。

Eseutil /r

执行软恢复使单个数据库达到一致或干净关闭状态。

Eseutil /g

验证数据库的完整性。

Eseutil /m

生成各种数据库文件类型的格式化输出。

Eseutil /p

修复已损坏或破坏的数据库。

Eseutil /c

数据库还原后执行硬恢复。

Eseutil /k

验证数据库的校验和。

Eseutil /y

复制数据库、流式文件或日志文件。

有关对 Exchange 2000 Server 和 Exchange Server 2003 数据库进行碎片整理的详细信息,请参阅 Microsoft 知识库文章 192185“如何使用 Eseutil 实用工具 (Eseutil.exe) 进行碎片整理”(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=192185)。

有关对 Exchange Server 数据库进行碎片整理的详细信息,请参阅 Microsoft 知识库文章 328804“如何对 Exchange 数据库进行碎片整理”(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=328804)。

也可以在 Microsoft Exchange 工作组博客“Is offline defragmentation considered regular Exchange maintenance?”(https://go.microsoft.com/fwlink/?linkid=35348)(英文)中获取信息。

验证邮箱和公用文件夹存储完整性

在下列情况下将需要验证 Exchange 存储完整性:

  • 某邮箱或公用文件夹存储上的项目计数不一致。这可能表明邮箱或公用文件夹存储上的部分计数器和指针可能已损坏。
  • 无法移动邮箱。例如,如果对特定邮箱执行“移动邮箱”命令或 ExMerge 失败,则邮件结构或邮箱内某封邮件的结构可能已损坏。
  • 电子邮件客户端频繁崩溃。例如,当用户尝试访问特定邮件或邮箱时,Microsoft Office Outlook® 反复崩溃。运行存储完整性检查可以确定错误的原因。

Isinteg

Isinteg 是命令行工具,可搜索脱机 Exchange 存储以查找完整性方面的缺陷。还可以修复 Isinteg 检测到的问题。启动 Isinteg 时,Microsoft Exchange Information Store 服务必须处于联机状态

默认情况下,在运行 Exchange Server 2000 或 Exchange Server 2003 安装程序后,Isinteg 位于 <驱动器>:\<安装根目录>\exchsrvr\bin 目录中(其中 <驱动器> 是在其上安装 Exchange Server 的驱动器的驱动器号)。

Isinteg 工具可执行下列任务:

  • 验证 MSExchangeIS 服务是否已停止,然后 Isinteg 执行下列任务之一:
    • 如果 MSExchangeIS 服务已停止,Isinteg 则显示以下错误消息:“错误: 无法从服务器获取数据库状态”。原因可能是服务器名不正确或网络出现问题。
    • 如果服务未停止,Isinteg 则显示可从该服务器上选择的数据库的列表。
  • 浏览所有交叉引用表以查找错误。在浏览表之前,Isinteg 会生成引用计数的 Exchange 数据库 Refer.mdb。
  • 比较找到的计数和引用数据库中的计数。如果带 -fix 开关运行 Isinteg,则会将这些计数更新为 Isinteg 确定的真值。
  • 执行“命名为 ID”或“命名属性清理检查”以删除未使用的命名属性。
important重要提示:
Isinteg 无法解决物理数据库问题。如果数据库在物理数据库页级别上损坏(例如,由于硬盘问题、文件级防病毒软件修改了数据库,等等),则可能需要使用 Eseutil 工具。数据库必须处于“干净关闭”状态,才能在其上运行 Isinteg。

验证 Exchange 存储完整性

若要查看有关 Isinteg 工具的命令行帮助,请在命令提示符处键入以下命令行:

<驱动器>:\<安装根目录>\exchsrvr\bin>isinteg /?

使用 Isinteg 命令行工具的语法如下所示:

isinteg -s ServerName [-fix] [-verbose] [-l LogFilename] -test TestName[[, TestName]...]

使用表 2 中的信息确定运行 Isinteg 工具时使用哪个开关。

表 2   Isinteg 开关

开关 开关用途

-fix

修复数据库中的任何不一致。

-verbose

显示 Isinteg 发现问题的详细报告。

-test TestName

定义 Isinteg 将在运行时执行的测试(例如,若要执行所有可用测试,则使用 –test alltests;若要测试文件夹,则使用 –test allfoldertests)。

-dump

创建存储数据的详细转储文件。

至少必须在命令行上指定 -test Testname 或 -dump 才能继续。

根据特定标准运行 Isinteg 命令行工具的步骤如下所示:

  • 若要测试 Exchange 存储的完整性,请在命令提示符处键入:

<驱动器>:\<安装根目录>\exchsrvr\bin>isinteg -s ServerName -test alltests

例如,您可以键入 c:\program files\exchsrvr\bin>isinteg -s servername -fix -test alltests

  • 若要修复 Exchange 存储中的不一致和错误,请在命令提示符处键入:

<驱动器>:\<安装根目录>\exchsrvr\bin>isinteg -s ServerName -fix

有关 Isinteg 工具的详细信息,请参阅 Microsoft 知识库文章 182081“Isinteg 实用工具的说明”(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=182081)。

有关用于 Isinteg 工具的命令行参数的详细信息,请参阅 Microsoft 知识库文章 301460“Isinteg.exe 工具的 Exchange 命令行参数”(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=301460)。

检查队列查看器

队列查看器是一个工具,通过它可以维护和管理组织的邮件队列并确定邮件流问题。在处理邮件以便进行路由和传递时,Exchange 使用队列来存放邮件。队列查看器可用于所有 SMTP 虚拟服务器、X.400 对象以及所有已安装的 Microsoft Exchange 连接器(用于 Novell GroupWise、Lotus Notes 和 Lotus cc:Mail)。

必须提炼出一个队列基线,以便能识别组织正常行为和异常行为之间的区别。通常,会在支持电话表明电子邮件传递速度太慢或邮件尚未传递时按需使用队列查看器。

有关队列查看器的详细信息,请参阅主题“每日操作”中的主题“检查邮件路径”。

有关每个队列、每个队列中问题的常见原因以及如何解决邮件流问题的详细信息,请参阅 Microsoft 知识库文章 823489“如何在 Exchange Server 2003 中使用队列查看器解决邮件流问题”(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=823489)。

可以使用队列查看器来检查下列各项:

  • 排队等待了很长一段时间的邮件。除非 Exchange 2003 服务器处理的电子邮件量非常大,否则服务器通常不会让邮件排队等待很长时间。排队时间太长通常表明发生了值得您注意的系统问题。检查性能度量值以查看是否存在一些其他性能问题导致电子邮件排队。如果没有,请查找已关闭或不正常工作的连接器或服务器。SMTP 协议日志记录可能也有助于发现问题。
  • 排队邮件中的峰值。当某个用户执行下列操作时,可能在排队邮件中出现峰值:
    • 发送邮件给较大的通讯组列表。
    • 发送非常大的邮件给许多人。
    • 发送需要通过慢速网络链路才能到达目标的邮件。

这些条件不会引起警报。但是,如果存在下列条件之一,您必须检查 Exchange 组织的安全性:

  • 大量邮件排队等待发往一个收件人或电子邮件地址。大量邮件排队等待发往一个收件人或电子邮件地址可能是电子邮件循环的垃圾邮件攻击或拒绝服务 (DoS) 攻击的症状。
  • 大量邮件排队等待发往特定服务器或域。大量邮件排队等待发往特定服务器或域表明服务器已关闭、服务已停止、域不可访问,或网络中断使系统无法建立连接。

用于配置性能控制台的指南

可以配置系统监视器来监视 Exchange 服务器的性能,以了解哪些系统行为是正常的以及可以执行哪些更改来改善 Exchange 性能。

必须能够回答有关系统环境的一些基本问题,包括:

  • 每位用户每日接收的邮件数
  • 下载的邮件数
  • 用户打开文件夹的频率
  • 服务器可以支持的其他用户数
  • 峰值传递速率、每日的高峰时段和每周的高峰日
  • 每月或每季度出现峰值的频率,如果有的话

必须创建一个性能控制台,以便可以查看整个系统环境,同时记录服务器性能中甚至是很微小的更改。用于创建性能控制台的指南如下所示:

  • 创建一个具有两个图表的性能控制台,这两个图表具有不同的采样时间,如:
    • 900 秒(24 小时视图)
    • 10 秒(用于捕捉短期峰值)
  • 在每个控制台中包括最少的计数器组,如:
    • Processor(_Total)\% Processor Time
    • Process(store)\% Processor Time
    • MSExchangeIS\RPC Requests
    • MSExchangeIS\RPC Operations/sec
    • MSExchangeIS\RPC Averaged Latency
    • PhysicalDisk(_Total)\Disk Transfers/sec
    • PhysicalDisk(_Total)\Avg.Disk sec/Read
    • PhysicalDisk(_Total)\Avg.Disk sec/Write
    • SMTP Server\Local Queue Length
    • SMTP Server\Messages Delivered/sec
    • MSExchangeIS Mailbox\Local Delivery Rate
    • MSExchangeIS Mailbox\Folder Opens/sec
    • MSExchangeIS Mailbox\Message Opens/sec
  • 检查最繁忙的服务器以收集有关服务器为什么如此繁忙的信息,并了解当服务器的执行性能不如其他服务器时可以解决哪些性能问题。
  • 保存引用日志文件以便提炼出历史基线数据,此数据使您能够查看发生了哪些更改,以便然后可以处理它们随着时间推移的增长。

有关创建服务器性能基线的详细信息,请参阅 Troubleshooting Microsoft Exchange Server 2003 Performance (https://go.microsoft.com/fwlink/?LinkId=22811)。