华为云云数据库rdsRDS for SQL Server规格变更或主备切换失败_云淘科技

场景描述

通过管理控制台下发规格变更时,右上角报错“当前实例数据库主备同步关系异常,无法执行该操作”。

图1 规格变更失败

通过管理控制台进行主备切换时,右上角报错“当前实例数据库主备同步关系异常,无法主备倒换”。

图2 主备切换失败

故障分析

可能是由于复制关系异常导致无法下发规格变更,可通过以下两种方式分析,任选其一即可。

方式1:通过查看监控指标(数据同步延迟)

登录管理控制台。
在“实例管理”页面,选择目标实例,单击操作列中的“查看监控指标”,跳转到云监控服务页面。

您也可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“查看监控指标”,跳转到云监控服务页面。

在云监控页面,可以查看实例的“数据同步延迟”指标,当出现数值过大例如99999表示复制关系异常。

方式2:通过SSMS(SQL Server Managerment Studio)查看

如下图3所示,正常建立复制关系的数据库状态会显示“Principal, Synchronized”例如 rdsadmin。

db1数据库没有复制状态,表示没有建立复制关系,则不能进行主备切换。也可能显示“Principal,Disconnected”表示复制关系中断,也不能进行主备切换。

如果是2017企业版,则数据库复制关系正常的会只显示“Synchronized”。

图3 数据库复制关系

解决方案

当前存在数据库没有建立复制关系时如上图的db1数据库,需要检查数据库属性。

登录SSMS(SQL Server Managerment Studio)客户端,选择目标数据库,右键属性,查看Recovery model和Auto Close属性值。

图4 查看属性

如果Recovery model是Simple模式,则不会建立复制关系,需要改成full模式,通过SSMS设置,或者执行如下SQL语句修改

ALTER DATABASE [database_name] SET RECOVERY FULL WITH NO_WAIT

[database_name]:填写数据库名.

示例:

ALTER DATABASE [db1] SET RECOVERY FULL WITH NO_WAIT

如果Auto Close属性是True,也不会建立复制关系,需要关闭Auto Close属性,通过SSMS设置,或者执行如下SQL语句修改

ALTER DATABASE [db1] SET AUTO_CLOSE OFF WITH NO_WAIT

修改完成后,等待建立复制关系,一般几分钟就会自动开始建立复制关系,建立时间取决于数据库的大小。

等待复制关系建立完成后即可重新执行规格变更或主备切换操作。

父主题: RDS for SQL Server

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家