测试从SQL Server 2014 SP1(12.0.4422.0)到SQL Server 2016 CTP 3.2(13.0.900.73)的升级时,我遵循建议的更新过程,并遇到了故障转移后数据库无法在旧主数据库上启动的问题到更新的中学。我们的设置是一个主副本和一个辅助副本,我完成的步骤是:
- 在同步提交的辅助副本上删除自动故障转移
- 将辅助服务器实例升级到新版本
- 手动故障转移到辅助副本
- 验证数据库在新的主副本上是否在线
- 将以前的主副本升级到新版本
辅助服务器的升级和故障转移以使其成为主要服务器,完全可以按预期进行。但是,在升级了先前的主副本之后,我注意到其上的数据库在SSMS中被列为“ 未同步/正在恢复”。同样尝试访问它们也会生成错误消息:
数据库...不可访问。(对象浏览器)
通过我看到的SQL Server日志进行检查
无法打开数据库“ ...”版本782。将数据库升级到最新版本。
查询master..sysdatabases表表明它确实是一个较旧的版本,并且在升级过程中未进行更新:
不幸的是,日志没有指出为什么不对其进行更新,并且可用性组仪表板仅给出一般性警告,指示某些可用性数据库的数据同步状态不正常,没有任何原因。
我尝试使用TSQL分离数据库或将其设置为脱机以“踢”数据库以进行更新,但是由于它们是SQL AG的一部分,因此这些命令不起作用。
如果数据库是SQL AG的一部分,如何将其升级到最新版本?