如何在数据库镜像会话中强制执行服务 (Transact-SQL)

在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器失败而镜像服务器可用,则数据库所有者可以在出现故障时强制将服务转移到镜像数据库(可能造成数据丢失),从而使数据库可用。 此选项仅在以下情况中可用:

  • 主体服务器已关闭。

  • WITNESS 设置为 OFF 或连接到镜像服务器。

注意事项注意

严格讲来,强制服务是一种灾难恢复方法。 强制服务可能会导致一些数据丢失。 因此,只有在为了立即恢复数据库服务而不惜丢失某些数据时,才可强制执行服务。 如果强制服务面临丢失重要数据的风险,则建议您停止镜像并手动重新同步数据库。 有关强制服务所面临风险的详细信息,请参阅强制服务(可能造成数据丢失)

强制服务会挂起会话并启动新的恢复分叉。 强制服务的结果相当于删除镜像并恢复以前的主体数据库。 但是,强制服务便于在恢复镜像时重新同步数据库(可能造成数据丢失)。

在数据库镜像会话中强制执行服务

  1. 连接到镜像服务器。

  2. 发出以下语句:

    ALTER DATABASE <数据库名称> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

    其中,<数据库名称> 为镜像数据库。

    镜像服务器将立即转换为主体服务器,并且镜像挂起。