如何在各种情况下运行 Eseutil /P(修复)

 

上一次修改主题: 2006-06-09

本节中描述的 Eseutil 语法和行为适用于 Exchange Server 2003 Service Pack 2 (SP2),并提供了对数据库运行 Eseutil 修复的说明。Eseutil 修复模式会在页面和表格级别(但不在应用程序级别)更正已破坏或已损坏的数据库。可能会成功完成修复,使所有数据库表保持一致,但对于损坏过于严重的数据库,则无法对其进行装载。有关 Eseutil 修复模式的详细信息,请参阅 Eseutil /P 修复模式

开始之前

在数据库上运行 Eseutil 修复模式之前,请考虑下列事项:

  • 本地逻辑驱动器上必须具有足够的磁盘空间用于临时修复数据库。建议保留的空间大小为需要修复的数据库文件大小的 20%,尽管临时文件的大小很大程度上取决于所作修复的性质。如果空间不足,可以按照如下所述,将临时文件重定向到其他驱动器。
  • 流式数据库(.stm 文件)必须与消息处理应用程序接口 (MAPI) 数据库(.edb 文件)位于同一文件夹中,或者必须按照如下所述,设置命令行开关来标识流式数据库的路径。

步骤

运行 Eseutil /P

  • 使用 Eseutil 修复数据库的基本命令行语法为:

    ESEUTIL /P database_filename.edb
    
    note注意:
    对于 Exchange Server 5.5,需要运行 /V 以查看 Exchange 2000 Server 及更高版本默认的详细日志记录。

运行 Eseutil 修复数据库时,可能会出现下列情形:

  • 数据库和流式文件不匹配
  • 缺少流式文件

数据库和流式文件不匹配

某些硬故障可能使数据库和流式数据库之间不同步,或者可能您获得的流式数据库与数据库文件相比已过期。默认情况下,修复会在开始时检查此问题,然后退出,使您可以获取正确的文件(如果该文件可用)。

您可以跳过此问题继续进行强制修复,但是如果流式文件实际上不属于该数据库,则这样并不会修复其中的数据。而是将所有数据从流式文件中删除。只有当您非常确信流式数据库和数据库文件相互对应,并且彼此之间几乎同步时,才可以强制忽略不匹配的情况。

流式数据库完全由原始的用户数据组成。数据的所有逻辑结构和所有权信息都位于 MAPI 数据库(.edb 文件)中。.stm 文件中所有与 .edb 文件中的指针不匹配的数据在修复过程中都将丢失。

按照下列步骤运行 Eseutil /P 以忽略流式文件不匹配:

忽略流式文件不匹配

  • 若要忽略流式文件不匹配,请将 /I 开关添加到 Eseutil 命令行。例如:

    ESEUTIL /P priv1.edb /I
    

缺少流式文件

如果流式数据库已遭到破坏或丢失,仍然可以成功完成修复,但会丢失该文件中的所有数据。如果大多数用户是 MAPI 客户端(Microsoft® Office Outlook® 用户),则涉及的数据丢失可以忽略。如果大多数用户通过邮局协议版本 3 (POP3) 或 Internet 邮件访问协议版本 4 (IMAP4) 连接,则数据丢失可能是极为严重的故障。

当缺少数据库流式文件或无法使用当前流式文件完成修复时,请按照以下步骤运行 Eseutil /P:

创建新的流式文件

  • 若要创建新的流式文件,请使用 /CREATESTM 开关。例如:

    ESEUTIL /P PRIV1.EDB /CREATESTM
    

修复后的注意事项

运行 Eseutil /P 修复数据库之后,请记住以下事项:

  • 修复之后尽快执行数据库的完整备份。修复操作会使以前的备份无效。这并不是说以前的备份无法还原或完全无用。而是指修复操作使得数据库不可能从以前的备份完全向前滚动。如果还原以前的备份,则事务日志文件重播将在修复完成处结束。修复之后对数据库做出的所有更改都无法恢复到还原的数据库。因此,修复之后尽快执行数据库的完整备份至关重要。
  • 请记住,必须运行碎片整理 (Esetuil /D) 和 ISInteg -fix 以完成修复。只有您打算使用修复的数据库进行补救,然后将其丢弃,才可过跳过这些额外的步骤。跳过这些步骤意味着补救的数据可能比完成这些步骤时要少,但也意味着可节省几个小时的恢复时间。
important重要提示:
在将修复的数据库用于生产前,必须执行数据库的完整备份,以及运行碎片整理和 ISInteg。Microsoft IT 的最佳实践是在可行时尽快移动邮箱,而不是无限期地将修复的数据库用在生产环境中。有关详细信息,请参阅 Eseutil /P 修复模式

命令行参考

在 Exchsrvr\Bin 文件夹中,于命令提示符处键入 Eseutil ./?,并选择表示“修复”的 P ,可以看到如下命令行参考。

REPAIR:
    DESCRIPTION:  Repairs a corrupted or damaged database.
         SYNTAX:  ESEUTIL /p <database name> [options]
     PARAMETERS:  <database name> - filename of database to repair
        OPTIONS:  zero or more of the following switches, separated by a space:
                  /s<file>     - set streaming file name (default: NONE)
                  /t<db>       - set temp. database name
                                 (default: TEMPREPAIR*.EDB)
                  /f<name>     - set prefix to use for name of report files
                                 (default: <database>.integ.raw)
                  /i           - bypass the database and streaming file mismatch error
                  /g           - run integrity check before repairing
                  /createstm   - create empty streaming file if the file is missing
                  /8           - set 8k database page size (default: auto-detected)
                  /o           - suppress logo
          NOTES:  1) Repair does not run database recovery. If a database
                     is in a "Dirty Shutdown" state it is strongly
                     recommended that before proceeding with repair,
                     recovery is first run to properly complete database
                     operations for the previous shutdown.
                  2) The /i option ignores the signature mismatch error in
                     the check phase if the database and streaming file do
                     not match each other. The database and streaming file
                     will receive new signatures in the repair phase. Without
                     using this option, repair will terminate immediately
                     once the database and streaming file mismatch error occur
                  3) The /g option pauses the utility for user input before
                     repair is performed if corruption is detected. This optio
                     overrides /createstm and /o options.
                  4) The /createstm option is irreversible.  Once you
                     start the repair process a new streaming file will
                     be created.  Any streaming file that existed before
                     the repair will no longer work with this database.

有关详细信息

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