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