在 Exchange Server 2003 SP1 中包含新的错误更正代码

文章翻译 文章翻译
文章编号: 867626 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

Microsoft Exchange Server 2003 Service Pack 1 (SP1) 引入了新错误纠正 (ECC) 的代码算法以帮助解决可能出现在 Exchange 数据库中的-1018年错误。

-1018年错误不是由 Exchange 2003 中的问题。-1018年错误表明问题发生在计算机的硬盘子系统,和此问题影响了 Exchange 数据库文件。

-1018年错误的一个典型原因是在数据库页中的"翻转"单个位。在这种情况下一个零位更改为一个,或一位更改为零。在 Exchange 2003 SP1 中包含的 ECC 算法旨在帮助您解决这一特定问题。

虽然此 ECC 算法有助于自动修复 Exchange 数据库中的单个位错误,有备份或还原 Exchange 2003 SP1 数据库文件时需要考虑某些问题:
  • 如果您备份包含一个的单一位错误的文件在备份媒体上自动修复该错误,是,但它仍保留在硬盘。
  • 无法将一个 Exchange 2003 SP1 的数据库文件恢复到运行 Exchange 2003 的原始发行版的计算机
仅在数据库文件的写操作过程中修复 单一位错误。如果从包含单一位错误的文件进行读取的操作,在硬盘上的原始文件不是修复。在 Exchange 2003 SP1 中,两个新的事件记录到记录更正 单一位错误。

简介

本文讨论了一个错误纠正 (ECC) 的代码算法在 Exchange Server 2003 Service Pack 1 (SP1) 中引入的。在 Exchange 2003 SP1 中在可扩展存储引擎 (ESE) 使用此算法来帮助您解决出现的错误-1018 JET_errReadVerifyFailure。-1018年错误有关的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
314917了解和分析-1018年、-1019 和-1022 Exchange 数据库错误

更多信息

如果 Exchange 中内置的完整性验证组件确定 Exchange 无法正确地存储或无法从硬盘正确检索 Exchange 数据库文件数据,生成错误-1018年。出现此问题时, 您必须修复 Exchange 数据库文件,或从最近的备份还原数据库文件。

我们调查已结束最多到 40%的-1018年错误出现的原因由单一位错误引起的数据库损坏。单一位错误是也称为一个"位翻转"错误。一位或位翻转错误是硬件级别匹配项从零到一个或一个零到一个位置更改的数据的单个位。计算机数据,以检测位翻转问题发生时可添加一个奇偶校验位。但是,奇偶校验系统只可以检测到此问题 ; 它们不能对其进行修复。 ECC 算法可以自动检测并修复单一位错误。 Exchange 2003 SP1 实现 ECC 算法来检测和自动更正单一位错误的可扩展存储引擎 (ESE) 数据库中。

Exchange 数据库文件划分成 4 kb 数据块 (也称为页)。每个页都有其自身 ECC 的数据。 Exchange 2003 SP1 可以更正每一页上的单个位错误。因此,如果在数据库中的多个页面已损坏由单一位错误,Exchange 2003 SP1 可以更正每一页。但是,如果单个的数据库页中包含多个错误 Exchange 2003 SP1 还不能更正它的位置。在这种情况下,您必须修复该数据库文件,或从最近的备份还原数据库文件。

通过自动修复单一位错误,Exchange 2003 SP1 可以恢复从数据库损坏的最常见类型。典型的-1018年错误自我现在"修复",且不再需要您修复数据库文件或从最近的备份还原数据库文件。

注意虽然 Exchange 2003 SP1 自动修复典型的单一位错误,但我们建议您不要忽略-1018年错误的发生。-1018年错误表明某个硬件组件发生故障,或已损坏。一位-1018年错误的修复不能解决硬件问题导致该错误。此硬件问题可能会影响您除了 Exchange 数据库文件的计算机上的其他文件。此外,单一位错误只考虑大约 40%的-1018年错误。您可能会遇到其他-1018年错误需要您修复或还原 Exchange 数据库文件。

数据库升级问题

当您升级到 Exchange 2003 SP1 的原始发行版的 Exchange 2003 时,数据库文件没有立即升级到新的 ECC 格式中。这意味着如果现有的数据库遇到一位-1018年错误,错误不会自动修复通过 Exchange 2003 SP1。仅当页中的数据被修改时,数据库页被升级为新的 ECC 格式。如果在数据库页只读取数据库,并且不会被修改,该数据库页保持原始的数据库格式。该网页不会升级为新的 ECC 格式。

通过几周一个内大多数或所有数据库中的页被重写和典型的 Exchange 操作过程中自动升级。如果您同时升级所有数据库页,您可能会导致严重和意外降低服务从您的 Exchange 计算机。

同时升级所有数据库页,安装 Exchange 2003 SP1,使该数据库离线,然后将数据库文件进行碎片整理通过运行以下命令:
eseutil/D databaseFile
有关如何对 Exchange 数据库进行碎片整理的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
328804如何对 Exchange 数据库进行碎片整理
重要如果您将 Exchange 数据库文件对进行碎片整理,这会影响播放向前事务日志文件的能力。在这种情况下如果您有以前的备份可以只播放日志文件转发到您碎片整理数据库。因此,如果以后必须从数据库进行碎片整理之前制作的备份还原数据库文件,您将丢失对数据库进行碎片整理后添加的所有数据。

您对数据库进行碎片整理后,我们建议您立即备份您的 Exchange 数据库文件。我们还建议您考虑为不可用的前滚事务日志文件从早期备份。

数据库备份和数据库还原问题

如果原始发行版的 Exchange 2003 中数据库文件中出现-1018年错误,您不能使用联机备份操作的备份该数据库。联机备份操作不会帮助防止在数据库备份中的损坏。因此,如果成功完成联机数据库备份操作没有损坏的页面存在数据库备份中。这意味着您可以还原该备份,部署数据库使用事务日志文件后数据库已备份,创建正向和数据库备份已完成后,您的数据库中删除发生的任何-1018年错误。

在 Exchange 2003 SP1,如果单一位错误发生在数据库中,联机备份操作报告此错误,但数据库备份,仍然会成功。在这种情况下在备份集中更正单一位错误。然而,在硬盘上存在的数据库中不会更正单一位错误。在典型的数据库操作过程中 re-written 该页之前,不会更正单一位错误,在硬盘上存在的数据库页中。

注意如果多比特-1018年错误发生在数据库页中,该错误不是通过 Exchange 2003 SP1,correctible 和备份没有成功。

备份集之间 Exchange 2003 和 Exchange 2003 SP1 的问题

如果您有一个 Exchange 2003 数据库还原,请考虑以下因素:
  • 您可以还原备份集来自 Exchange 2003 的最初发行版本的 Exchange 2003 SP1 的计算机。

    Exchange 2003 SP1 正确识别出您从运行 Exchange 2003 的原始发行版的计算机创建的数据库备份。
  • 您不能恢复备份集从 Exchange 2003 SP1 到正在运行 Exchange 2003 的原始发行版的计算机。

    原始发行版的 Exchange 2003 不能识别在数据库页中包含的 ECC 数据。因此,Exchange 2003 决定数据库页已损坏。
由于这些原因,我们建议您在您的 Exchange 计算机升级到 Exchange 2003 SP1 之后立即创建 Exchange 2003 数据库文件的完整备份。

ESE 事件

在安装 Exchange 2003 SP1 后,下面两个新应用程序日志事件的 ID 编号,可能会出现 ESE 来源。

注意这两个事件不会出现在原始发行版的 Exchange 2003。
  • 事件 ID 398

    通常很少发生此事件。如果 Exchange 2003 SP1 修复一个一位错误而其中随后修复错误页失败的逻辑的有效性测试,只会发生此事件。因为此事件是因此极少数,您遇到此问题,如果我们请求您报告问题以 Microsoft 产品支持服务 (PSS),和,保留此错误发生位置的数据库。有关如何与 PSS 联系的其他信息,请访问下面的 Microsoft 网站:
    http://support.microsoft.com
  • 事件 ID 399

    此事件表示的已检测到一个单一位错误,并在内存中,已成功更正此错误。在这种情况下发生此错误的位置页可能也可能不已更正物理硬盘上。除非已写入数据页,不会在物理硬盘上更正单一位错误。因此,如果只读取数据库页,时在内存中,在更正单一位错误,但不是会在物理硬盘上更正单一位错误。

事件 ID: 399

通常,事件 ID 399 会出现类似于以下内容:

事件类型: 警告
事件源: ESE
事件类别: 数据库页面缓存
事件 ID: 399
日期: date
时间: time
用户: 不适用
computername 的计算机:
描述: 信息存储 (1532) 存储组 1: 为 4096 (0x00001000) 字节无法验证的数据库页读取文件"是 Files\Exchsrvr\MDBDATA\Storage 组 1\MDB2.edb"102400 (0x0000000000019000) 的偏移量。128 位已损坏,已得到纠正。此问题可能是由于硬件故障,可以继续。这样的瞬时故障可能包含此文件的存储子系统中发生灾难性故障的先兆。请与您的硬件供应商联系以获得进一步的帮助诊断问题。

事件 ID: 474

无法恢复 (或多比特) 将仍然报告错误作为事件 474 在 Exchange 2003 SP1。通常,事件 ID 474 会出现类似于以下内容:

事件类型: 错误
事件源: ESE
事件类别: 记录/恢复
事件 ID: 474
日期: date
时间: time
用户: 不适用
computername 的计算机:
描述: 信息存储 (1532) 存储组 1: 的数据库页读取从文件"是 Files\Exchsrvr\MDBDATA\Storage 组 1\MDB2.edb"偏移量 12611584 (0x0000000000c07000) 为 4096 (0x00001000) 字节失败验证由于页校验和不匹配。预期的校验值 8700524288068713684 (0x78be78be1dfe7cd4),实际的校验和是 564489450306895060 (0x07d5782a0cff7cd4)。读取的操作将失败,出现错误-1018 (0xfffffc06)。如果这种情况一直存在,请再请还原该数据库从以前的备份。此问题是可能是由于硬件故障。请与您的硬件供应商联系以获得进一步的帮助诊断问题。

在早期版本的 Exchange 中,事件 ID 475 还用于报告的-1018年错误发生。Exchange 2003 SP1 不使用事件 ID 475。Exchange 2003 SP1 使用事件 ID 474 报告出现的一个不可恢复的-1018年错误和事件 ID 399 报告可恢复的-1018年错误的发生次数。

参考

有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
836993如何为 Exchange Server 2003 中获取最新的更新和服务包

属性

文章编号: 867626 - 最后修改: 2007年10月30日 - 修订: 1.2
这篇文章中的信息适用于:
  • Microsoft Exchange Server 2003 Service Pack 1
关键字:?
kbmt kbdiskmemory kbbackup kbeventlog kbfilesystems kbenv kbinfo KB867626 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 867626
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com