导航

当邮箱存储数据库达到 16 GB 限制时 Exchange Server 邮箱存储将无法装入

文章 ID : 828070
最后更新日期 : 2004年9月21日
版本 : 2.2
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
本页内容

症状

当 Microsoft Exchange Server 2003 标准版或 Microsoft Exchange 2000 Server 标准版中的邮箱存储数据库达到 16 GB 大小限制时,邮箱存储将无法装入。此外,应用程序事件日志中可能还会记录以下事件 ID 消息:Event Type:Error
Event Source:MSExchangeIS
Event Category:General
Event ID: 1112
Description:The database "Mailbox Store (Server Name)" has reached the maximum allowed size.Attempting to unmount the database. Event Type:Warning
Event Source:ESE
Event Category:Space Management
Event ID: 445
Description:Information Store (3160) The database D:\Program Files\Exchsrvr\MDBDATA\priv1.edb has reached its maximum size of 16383 MB.If the database cannot be restarted, an offline defragmentation may be performed to reduce its size.注意:尽管事件 ID 445 中的描述指出 Priv1.edb 文件的大小已达到 16,383 MB,但这并不一定属实。如果 Priv1.edb 文件和 Priv1.stm 文件的大小加在一起达到 16,383 MB,将触发事件 ID 445。Priv1.edb 文件本身的大小可能小于 16,383 MB。

原因

如果 Exchange 邮箱存储数据库达到 16 GB 大小限制,可能会出现此问题。一旦邮箱存储数据库达到最大大小限制,邮件数据库 (MDB) 将立即自动关闭,并且不重新启动。这种现象是设计导致的,在超过设计的邮箱存储数据库处理能力时,系统将不再尝试在邮箱存储数据库中插入更多数据。

有关如何确定服务器上安装的 Exchange 服务器版本的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
820270 如何查看组织中 Exchange 服务器的类型、版本和服务器版本

解决方案

为解决此问题,Exchange 2000 标准版中已增加了新功能,以便管理员能够:
临时将数据库大小限制增加 1 GB。
有选择地删除不必要的数据库内容。
对数据库进行碎片整理,将其减小到定义的数据库大小界限内。
Exchange 2003 产品中已内置有此功能。不过,要启用此功能,管理员必须创建本文步骤的第 1 步中提及的新注册表值。

要解决 Exchange 2000 中的这一问题,您可以应用 2003 年 9 月版 Exchange 2000 Server 后 Service Pack 3 累积修补程序。此更新要求在服务器上安装 Exchange 2000 Service Pack (SP3) 并安装 813051 更新。然后,管理员必须创建此新注册表值以启用此功能。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824282 2003 年 9 月版 Exchange 2000 Server 后 Service Pack 3 累积修补程序


在按照下面介绍的步骤更改注册表后,您可以临时装入超过 16 GB 限制的邮箱存储。这只是临时的解决方法。在 Exchange 服务下次启动时,大小限制将还原为 16 GB。在大小限制还原为 16 GB 之前,您必须减小数据库的大小。要减小数据库的大小,请按照下列步骤操作:
1. 删除数据库内容。
2. 对数据库运行联机维护。
3. 对数据库运行脱机碎片整理。
要减小数据库的大小,请按照下列步骤操作:
警告:注册表编辑器使用不当可导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。
注意:此步骤中的注册表值可用于临时增加邮箱存储数据库的大小限制。它不用于日常操作。
1. 将“Temporary DB Size Limit Extension”注册表项添加到运行 Exchange 2003 标准版或 Exchange 2000 标准版的计算机上:
a. 打开注册表编辑器。

为此,请单击“开始”,单击“运行”,在“打开”框中键入 regedt32.exe,然后单击“确定”。
b. 在注册表中找到下面的项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Exchange Server Name>\Private-<long hexadecimal string>
c. 在“编辑”菜单上,单击“添加数值”,然后在“数值名称”框中键入 Temporary DB Size Limit Extension
d. 单击“数据类型”框中的“REG_DWORD”,然后单击“确定”。
e. 在“数据”框中,键入 1,然后单击“确定”。
f. 关闭注册表编辑器。
2. 在恢复过程中,为了防止添加新的电子邮件内容导致邮箱存储超过临时的 17 GB 限制,Microsoft 强烈建议在装入邮箱存储之前,先停止简单邮件传输协议 (SMTP) 服务和 Microsoft Exchange MTA 堆栈服务(如果正在运行的话)。
3. 装入邮箱存储。
4. 从邮箱存储中删除数据。为此,请使用下列任一方法:
使用 Microsoft Outlook 分别从各个收件箱和其他文件夹中删除不必要的电子邮件项目。
使用 Outlook 从“已发送邮件”文件夹中删除不必要的电子邮件项目。
使用 Outlook 清空“已删除邮件”文件夹。
如果设置了已删除邮件的保留期,可能需要临时将保留期减至零 (0) 天:
a. 单击“开始”,依次指向“程序”和“Microsoft Exchange”,然后单击“系统管理器”。
b. 右键单击“邮箱存储”,然后单击“属性”。
c. 单击“限制”选项卡,然后在“Keep deleted items for days”(保留已删除项目的天数)框中键入 0
删除不再使用的邮箱。
使用移动邮箱工具将邮箱移动到另一台 Exchange 服务器上的邮箱存储。
让用户在他们的本地硬盘上创建个人文件夹 (.pst) 文件,然后将邮箱存储数据库中的内容存档到他们的本地硬盘中。
5. 在从邮箱存储中删除数据后,您必须运行联机维护,以便在运行脱机碎片整理之前将某些项目标记为永久删除。

默认情况下,脱机维护安排在每天凌晨 1 点到凌晨 5 点运行。要强制立即运行联机维护,请按照下列步骤操作:
a. 打开 Exchange 系统管理器。

为此,请单击“开始”,依次指向“程序”和“Microsoft Exchange”,然后单击“系统管理器”。
b. 双击 Exchange 服务器,然后双击“存储组”。
c. 右键单击“邮箱存储”,然后单击“属性”。
d. 单击“数据库”选项卡,然后单击“自定义”将日程安排修改为立即运行。

注意:联机维护可能需要 30 分钟才能启动,并需要数小时才能完成。在启动联机维护后,应用程序事件日志中将记录以下事件 ID 消息:Event Type:Information
Event Source:ESE
Event Category:Online Defragmentation
Event ID:700
Description:MSExchangeIS (170) Online Defragmentation is beginning a full pass on database 'C:\exchsrvr\mdbdata\priv1.edb'.
6. 查看应用程序事件日志,以验证邮箱存储的联机维护已完成。事件 ID1221 指示联机维护已完成。此事件 ID 消息还指示,在完成脱机碎片整理后邮箱存储区中将有多少可用空间。事件 ID 1221 将显示与以下内容类似的消息:Event Type: Information
Event Source: MSExchangeIS Mailbox Store
Event Category: General
Event ID: 1221
Description:The database Storage Group Name\Mailbox Store has 565 megabytes of free space after online defragmentation has terminated.
7. 使用 Eseutil 工具 (Eseutil.exe) 对邮箱存储运行脱机碎片整理。

在运行脱机碎片整理之前,您必须先卸除邮箱存储,而且必须至少有相当于数据库大小的 110% 的可用磁盘空间才能运行 eseutil /d。如果没有使用“t”命令为数据库文件指定一个临时位置,则临时位置将自动设置为 Exchsrvr/Bin 文件夹。在本步骤的示例中,X 是您的硬盘或网络驱动器上经过碎片整理的数据库的临时驱动器号位置。对邮箱存储运行 eseutil /d 命令之后,您必须先卸除存储组中的所有存储,并删除 Mdbdata 文件夹中的任何日志文件,然后才能重新装入数据库。完成脱机碎片整理的时间会有所不同,具体取决于诸如涉及的硬件以及临时数据库是否被重定向到网络驱动器等因素。下面是一个用于运行 Eseutil 工具的命令行示例:
exchsrvr\bin\eseutil /d ".edb 文件的位置" /tX:\tempdfg.edb
注意:在对 .edb 数据库文件进行碎片整理时,同时也会对关联的 .stm 文件进行碎片整理。
有关如何使用 Eseutil 工具的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
328804 如何对 Exchange 2000 Server 数据库进行碎片整理
254132 Eseutil /d Defragments the Database and the Streaming File
192185 XADM:如何使用 Eseutil 实用工具 (Eseutil.exe) 进行碎片整理
8. 装入数据库并进行备份。
注意: 您也可以通过升级到 Exchange Server 2003 企业版来永久解决此问题。Exchange 2003 企业版对邮箱存储数据库没有 16 GB 的限制。 有关如何从 Exchange Server 标准版升级到 Exchange Server 企业版的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
170280 XADM:Upgrading From Exchange Server Standard Edition to the Enterprise Edition


如果您无法将 Exchange 服务器升级到 Exchange 2003 企业版,可能需要实施邮箱限制,以帮助防止数据库达到最大大小限制。您可以对邮箱存储实施邮箱限制。如果您的某些邮箱需要更高的存储限制,您也可以分别对每个邮箱实施限制。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
319583 HOW TO:Configure Storage Limits on Mailboxes in Exchange 2000

更多信息

Exchange 专用邮箱存储数据库的 16 GB 大小限制和 Exchange 公用邮箱存储数据库的 16 GB 大小限制是 Priv.edb 与 Priv.stm 两个文件大小的总和。当您在 Exchange 系统管理器中查看邮箱所使用的空间时,看到的数量仅包括 Priv.edb 文件所使用的空间,而不包括 Priv.stm 文件所使用的空间。当您对邮箱实施限制时,您仅限制了 Priv.edb 文件中的存储,而没有限制 Priv.stm 文件中的存储。例如,在 Exchange 系统管理器中,某个邮箱可能显示仅使用了 250 MB 的空间,但该邮箱实际使用的总空间可能是 450 MB。出现这一差别的原因在于:Priv.stm 文件使用的 200 MB 的空间没有显示在 Exchange 系统管理器中。

这篇文章中的信息适用于:
Microsoft Exchange Server 2003 Standard Edition
Microsoft Exchange 2000 Server 标准版
关键字: 
kbtshoot KB828070