症状
请考虑以下情况:
-
您有一个具有已失效文件组的数据库,您试图将该文件组添加到 Microsoft SQL Server 2014、2016和2017中的 Alwayson 可用性组(AG)。
-
你可以将数据库添加到 prime元 副本,并 通过 NORECOVERY 在辅助副本上还原完整日志和日志备份,但出现问题。
在此方案中,当你尝试使用 ALTER database <DatabaseName 将数据库联接到辅助副本上的可用性组时> "设置 HADR 可用性" 组 = <AGName>DatabaseName或使用 "自动" 种子设定配置辅助副本时,注意到已失效的文件组中的数据文件会报告错误17207和5120:
# # spid # # 启动数据库 "DatabaseName"。
# # spid # # 错误:17207, 严重性:16,状态:1。
# # spid # # FileMgr:: StartSecondaryDataFiles:操作系统错误2(系统 找不到指定的文件。) 创建或打开文件时发生 "FilePath"。 诊断和更正 操作系统错误,然后重试该操作。
# # spid # # 错误:5120, 严重性:16,状态:5。
# # spid # # 无法打开 物理文件 "FilePath"。 操作系统错误2: "2 (系统找不到文件 已指定。) "。
在 ALTER 数据库之后,你还会看到数据库进入 " 不同步/恢复" 辅助副本上的 挂起 模式 执行命令。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
参考
了解 terminology Microsoft 用于描述软件更新的术语。