如何激活滞后邮箱数据库副本

滞后的邮箱数据库副本是一种重播延迟时间值配置为大于 0 的邮箱数据库副本。 如果希望数据库重播所有日志文件并使数据库副本处于最新状态,激活和恢复滞后邮箱数据库副本是一个简单的过程。 但是,如果要将日志文件重播到特定时间点,则这是一个更困难的操作,因为必须手动操作日志文件并运行 Eseutil。

是否要查找与滞后邮箱数据库副本相关的其他信息? 查看 管理邮箱数据库副本

注意

激活滞后的邮箱数据库副本所需的时间直接取决于重播日志文件的多少和硬件重播日志文件的速度。 应看到的日志重播速度至少为每个数据库每秒钟两个日志文件。

在开始之前,您需要知道什么?

  • 估计完成该任务的时间:一分钟,加上复制滞后副本、替换必需的日志文件和提取数据或装入数据库客户端活动所需的时间。

  • 您必须先获得权限,然后才能执行此过程或多个过程。 若要查看所需的权限,请参阅 高可用性和站点恢复权限主题中的"邮箱数据库副本"条目。

  • 要激活邮箱数据库副本的重播延迟时间必须配置为大于 0。

  • 要激活邮箱数据库副本所拥有的全部日志文件的时间点必须达到希望恢复到的时间点。 确定要恢复到的时间点时,请记住数据库事务可以跨多个日志文件。

  • 若要了解本主题中的过程可能适用的键盘快捷键,请参阅 Exchange 管理中心内的键盘快捷键

提示

是否有任何疑问? 请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection

使用 Exchange 命令行管理程序将滞后邮箱数据库副本激活到特定时间点

注意

不能使用 EAC 将滞后邮箱数据库副本激活到特定时间点。 而是使用 Exchange 命令行和命令行执行一系列步骤。

  1. 此示例将挂起通过使用 Suspend-MailboxDatabaseCopy cmdlet 激活的滞后副本的复制操作。

    Suspend-MailboxDatabaseCopy DB1\EX3 -SuspendComment "Activate lagged copy of DB1 on Server EX3" -Confirm:$false
    
  2. 或者(若要保留滞后副本),为数据库副本及其日志文件创建一个副本。

    注意

    此时,继续在现有卷上执行此过程会导致副本在写入性能方面受到影响。 或者,可以将数据库和日志文件复制到另一个卷以执行恢复。

  3. 确定必须将哪些日志文件重播到数据库中才能符合此恢复过程的时间要求(根据日志文件的日期和时间,如 Windows 资源管理器中所示)。 在此之后创建的所有日志都应移至另一目录,直到恢复过程结束,并且不再需要这些日志。

  4. 删除数据库的检查点 (.chk) 文件。

  5. 此示例使用 Eseutil 执行恢复操作。

    Eseutil.exe /r eXX /a
    

    注意

    • 如果正在恢复的数据库“不就位”,请确保在 eseutil 命令中指定日志文件、检查点和数据库路径。 例如:eseutil.exe /R E00 /a /l "c:\DBRecovery" /s "c:\DBRecovery" /d "c:\DBRecovery"

    • 在前面的示例中, XX 是数据库的日志生成前缀(例如,E00、E01、E02 等等)。

    • 此步骤可能会花费相当长的时间,这取决于多种因素,如重播延迟时间的长度、该期间内生成的日志文件数量以及硬件将这些日志重播到进行恢复的数据库的速度。

  6. 日志重播完成后,数据库将处于干净关闭状态,可以对其进行复制并用于恢复目的。

  7. 恢复过程完成后,此示例将继续进行用作恢复过程一部分的数据库复制操作。

    Resume-MailboxDatabaseCopy DB1\EX3
    

有关语法和参数的详细信息,请参阅 Suspend-MailboxDatabaseCopyResume-MailboxDatabaseCopy

使用 Exchange 命令行管理程序通过重播所有未提交的日志文件来激活滞后邮箱数据库副本

  1. 或者(若要保留滞后副本),为数据库副本及其日志文件创建一个副本。

  2. 此示例将挂起通过使用 Suspend-MailboxDatabaseCopy cmdlet 激活的滞后副本的复制操作。

    Suspend-MailboxDatabaseCopy DB1\EX3 -SuspendComment "Activate lagged copy of DB1 on Server EX3" -Confirm:$false
    
  3. 或者(若要保留滞后副本),为数据库副本及其日志文件创建一个副本。

    注意

    此时,继续在现有卷上执行此过程会导致副本在写入性能方面受到影响。 如果不想发生这样的情况,可以将数据库和日志文件复制到另一个卷以执行恢复。

  4. 此示例使用 Move-ActiveMailboxDatabase cmdlet 和 SkipLagChecks 参数激活滞后邮箱数据库副本。

Move-ActiveMailboxDatabase DB1 -ActivateOnServer EX3 -SkipLagChecks

使用 Exchange 命令行管理程序使用 SafetyNet 恢复激活滞后邮箱数据库副本

  1. 或者(若要保留滞后副本),对包含数据库副本及其日志文件的卷生成基于文件系统(非 Exchange 感知)的卷影复制服务 (VSS) 快照。

  2. 此示例将挂起通过使用 Suspend-MailboxDatabaseCopy cmdlet 激活的滞后副本的复制操作。

    Suspend-MailboxDatabaseCopy DB1\EX3 -SuspendComment "Activate lagged copy of DB1 on Server EX3" -Confirm:$false
    
  3. 或者(若要保留滞后副本),为数据库副本及其日志文件创建一个副本。

    注意

    此时,继续在现有卷上执行此过程会导致副本在写入性能方面受到影响。 如果不想发生这样的情况,可以将数据库和日志文件复制到另一个卷以执行恢复。

  4. 通过查找 ESEUTIL 数据库头输出中的"所需的日志:"值来确定滞后数据库副本所需的日志

    Eseutil /mh <DBPath> | findstr /c:"Log Required"
    

    记下圆括号中的十六进制数字。 第一个数字是所需的最低生成(也称为 LowGeneration),第二个数字是所需的最高生成(也称为 HighGeneration)。 将所有生成序列大于 HighGeneration 的日志生成文件移到到其他位置,以便它们不会重播到数据库中。

  5. 在托管数据库主动副本的服务器中,为从主动副本激活的滞后副本删除日志文件,或停止 Microsoft Exchange 复制服务。

  6. 执行数据库切换并激活滞后副本。 此示例使用 Move-ActiveMailboxDatabase cmdlet 以及几个参数激活数据库。

    Move-ActiveMailboxDatabase DB1 -ActivateOnServer EX3 -MountDialOverride BestEffort -SkipActiveCopyChecks -SkipClientExperienceChecks -SkipHealthChecks -SkipLagChecks
    
  7. 此时,数据库将自动装入,并从 SafetyNet 请求重新交付丢失的邮件。

您如何知道这有效?

要验证是否已成功激活滞后的邮箱数据库副本,请执行以下操作之一:

  • 在 EAC 中,导航到 “服务器>数据库”。 Select the appropriate database, and in the Details pane, click View details to view the database copy properties.

  • 在 Exchange 命令行管理程序中,运行以下命令以显示数据库副本的状态信息。

    Get-MailboxDatabaseCopyStatus <DatabaseCopyName> | Format-List