解决失败的添加文件操作问题(AlwaysOn 可用性组)

在某些 AlwaysOn 可用性组部署中,文件路径在承载主副本的系统与承载辅助副本的系统之间存在差异。 如果辅助副本上不存在添加文件操作的文件路径,则添加文件操作会在主数据库上取得成功。 但添加文件操作将会导致辅助数据库挂起。 而这又会导致辅助副本进入“非同步”状态。

注意注意

我们建议,如有可能,给定辅助数据库的文件路径(包括驱动器号)应该与相应的 master 数据库的路径相同。

问题解决方案

若要解决此问题,数据库所有者必须完成以下步骤:

  1. 从可用性组中删除辅助数据库。 有关详细信息,请参阅从可用性组中删除辅助数据库 (SQL Server)

  2. 在现有辅助数据库上,使用 WITH NORECOVERY 和 WITH MOVE(指定将承载辅助副本的服务器实例上的文件路径)将包含添加的文件的文件组的完整副本还原到辅助数据库。 有关详细信息,请参阅将数据库还原到新位置 (SQL Server)

  3. 备份包含对主数据库的添加文件操作的事务日志,并且使用 WITH NORECOVERY 和 WITH MOVE 手动还原辅助数据库上的日志备份。

  4. 通过使用 WITH NO RECOVERY 从主数据库还原任何其他待定日志备份,对辅助数据库进行准备以便重新联接到可用性组。

  5. 将辅助数据库重新联接到可用性组。 有关详细信息,请参阅将辅助数据库联接到可用性组 (SQL Server)

请参阅

概念

AlwaysOn 可用性组概述 (SQL Server)

为可用性组手动准备辅助数据库 (SQL Server)

孤立用户故障排除 (SQL Server)

解决 AlwaysOn 可用性组配置问题 (SQL Server)