升级后,SQL Server AlwaysOn数据库卡在“不同步” /“恢复”模式下。错误:无法打开数据库“…”版本782


10

测试从SQL Server 2014 SP1(12.0.4422.0)到SQL Server 2016 CTP 3.2(13.0.900.73)的升级时,我遵循建议的更新过程,并遇到了故障转移后数据库无法在旧主数据库上启动的问题到更新的中学。我们的设置是一个主副本和一个辅助副本,我完成的步骤是:

  1. 在同步提交的辅助副本上删除自动故障转移
  2. 将辅助服务器实例升级到新版本
  3. 手动故障转移到辅助副本
  4. 验证数据库在新的主副本上是否在线
  5. 将以前的主副本升级到新版本

辅助服务器的升级和故障转移以使其成为主要服务器,完全可以按预期进行。但是,在升级了先前的主副本之后,我注意到其上的数据库在SSMS中被列为“ 未同步/正在恢复”。同样尝试访问它们也会生成错误消息:

数据库...不可访问。(对象浏览器)

通过我看到的SQL Server日志进行检查

无法打开数据库“ ...”版本782。将数据库升级到最新版本。

查询master..sysdatabases表表明它确实是一个较旧的版本,并且在升级过程中未进行更新:

SSMS sysdatabases版本

不幸的是,日志没有指出为什么不对其进行更新,并且可用性组仪表板仅给出一般性警告,指示某些可用性数据库数据同步状态不正常,没有任何原因。

我尝试使用TSQL分离数据库或将其设置为脱机以“踢”数据库以进行更新,但是由于它们是SQL AG的一部分,因此这些命令不起作用。

如果数据库是SQL AG的一部分,如何将其升级到最新版本?

Answers:


10

在SSMS中浏览了一会儿之后,我注意到在辅助副本上,可用性数据库旁边有一个暂停图标。主数据库显示两个都是“绿色”,但是辅助数据库上有一个“ 恢复数据移动”选项。我恢复了第一个数据库,并立即删除了“ 恢复中”状态消息。一分钟后,它从“不同步”更改为“已同步”,并且一切正常。

这是我修复“补丁”之后但修复测试数据库之前的AG数据库的屏幕截图:

在SQL AG上恢复数据移动

请注意,您还可以在辅助数据库上使用TSQL来同时在多个数据库上恢复复制:

ALTER DATABASE [Patch] SET HADR RESUME;
ALTER DATABASE [test] SET HADR RESUME;
GO

1
您是否知道导致复制暂停的原因?从复制暂停后可以找到我的信息吗?
JohnG
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.