Gre*_*ray 11 sql-server upgrade availability-groups sql-server-2016
在测试从 SQL Server 2014 SP1 (12.0.4422.0) 到 SQL Server 2016 CTP 3.2 (13.0.900.73) 的升级时,我遵循推荐的更新过程并遇到了一个问题,即故障转移后数据库无法在旧的主数据库上启动到更新的辅助。我们的设置是一个主副本和一个辅助副本,我完成的步骤是:
升级辅助节点和故障转移使其成为主节点完全按预期工作。但是在升级以前的主副本后,我注意到其上的数据库在 SSMS 中列为Not Synchronizing / In Recovery。尝试访问它们也会生成错误消息:
数据库...无法访问。(对象浏览器)
通过我看到的 SQL Server 日志检查
无法打开数据库 '...' 版本 782。将数据库升级到最新版本。
查询master..sysdatabases表,确实是旧版本,升级过程中没有更新:
不幸的是,日志没有指出它为什么没有更新,并且可用性组仪表板只给出了一个通用警告,表明某些可用性数据库的数据同步状态不健康,没有任何原因。
我尝试使用 TSQL 分离数据库或将它们设置为离线以“踢”它进行更新,但由于它们是 SQL AG 的一部分,因此这些命令不起作用。
当数据库是 SQL AG 的一部分时,如何将数据库升级到最新版本?
Gre*_*ray 11
在 SSMS 中闲逛一段时间后,我注意到在辅助副本上,可用性数据库旁边有一个暂停图标。主要显示两者都是“绿色”,但在次要恢复数据移动上有一个选项。我恢复了第一个数据库,并立即删除了In Recovery状态消息。一分钟后,它从 Not Synchronizing 变为 Synchronized,一切都按预期进行。
这是我修复“补丁”后,但在修复测试数据库之前的 AG 数据库屏幕截图:
请注意,您还可以在辅助数据库上使用 TSQL 来同时在多个数据库上恢复复制:
ALTER DATABASE [Patch] SET HADR RESUME;
ALTER DATABASE [test] SET HADR RESUME;
GO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54635 次 |
| 最近记录: |