暂停和恢复数据库镜像 (SQL Server)

数据库所有者可以随时暂停和以后恢复数据库镜像会话。 暂停会在暂停镜像功能时保留会话状态。 在瓶颈期间,暂停可能有助于提高主体服务器上的性能。

暂停会话时,主体数据库将保持可用。 暂停会将镜像会话的状态设置为 SUSPENDED,镜像数据库不再与主体数据库保持一致,从而导致主体数据库运行公开。

建议您快速恢复暂停的会话,因为只要数据库镜像会话保持暂停状态,事务日志就无法截断。 因此,如果数据库镜像会话暂停的时间过长,事务日志将填满,使数据库不可用。 有关发生这种情况的原因的说明,请参阅本主题后面的“暂停和恢复如何影响日志截断”。

重要

在强制服务之后,当原始主体服务器重新连接时,镜像将被暂停。 在这种情况下,恢复镜像可能会导致原始主体服务器上的数据丢失。 有关管理潜在数据丢失的信息,请参阅 数据库镜像操作模式

在本主题中:

暂停和恢复对日志截断的影响

通常,在数据库上执行自动检查点操作时,事务日志将在下一个日志备份后截断到该检查点。 当数据库镜像会话保持暂停时,所有当前日志记录都保持活动状态,因为主体服务器正在等待将它们发送到镜像服务器。 未发送的日志记录将累积在主体数据库的事务日志中,直到会话恢复,主体服务器已将日志记录发送到镜像服务器。

恢复会话后,主体服务器会立即开始将累积的日志记录发送到镜像服务器。 镜像服务器确认已将最早自动检查点对应的日志记录排队后,主服务器会将主数据库的日志裁剪到该检查点。 镜像服务器在同一日志记录处截断重做队列。 在对每个连续的检查点重复此过程时,日志会逐阶段地按检查点截短。

注释

有关检查点和日志截断的详细信息,请参阅数据库检查点(SQL Server)。

避免使用完整事务日志

如果日志填满(因为它达到最大大小或服务器实例空间不足),则数据库无法再执行任何更新。 若要避免此问题,有两种替代方法:

  • 在日志填满之前恢复数据库镜像会话,或添加更多日志空间。 恢复数据库镜像允许主体服务器将累积的活动日志发送到镜像服务器,并将镜像数据库置于同步状态。 然后,镜像服务器可以将日志写入磁盘,并开始重做日志。

  • 通过删除镜像来停止数据库镜像会话。

    与暂停会话不同,删除镜像会删除有关镜像会话的所有信息。 每个合作伙伴服务器实例保留其自己的数据库副本。 如果恢复以前的镜像副本,它将与以前的主体副本发生分歧,并落后于自会话暂停以来经过的时间。 有关详细信息,请参阅“删除数据库镜像”(SQL Server)。

相关任务

暂停或恢复数据库镜像

停止数据库镜像

另请参阅

ALTER DATABASE (Transact-SQL)
数据库镜像 (SQL Server)
删除数据库镜像 (SQL Server)