云数据库 RDS-RDS for SQL Server如何解除和重建复制关系:解决方案

时间:2024-11-06 21:53:18

解决方案

  1. 暂时解除复制关系
    1. 非2017企业版的实例

      执行如下SQL解除某个库的复制关系。

      alter database [@DBName] set partner off

      [@DBName]:指定需要解除复制关系的库名。

      1. 解除复制关系后的操作需要和该语句在一个批处理中执行,解除复制关系后,系统会尽快自动重建该库的复制关系,不需要手动执行SQL重建。
    2. 2017企业版的实例

      执行存储过程将数据库移出可用性组。详细内容可参考将自定义数据库移出可用性组

      EXEC rdsadmin.dbo.rds_remove_database_from_ag '@DBName';

      @DBName:需要移除的自定义数据库名称。

      示例:

      将数据库testDB_1从可用性组[AG-RDS-YUN]中移除。

      EXEC rdsadmin.dbo.rds_remove_database_from_ag 'testDB_1';
  2. 解除复制关系并且要求不再自动建立(不推荐)
    参考1,可以解除复制关系,如果不想让系统自动建立复制关系,可以将数据库的恢复模式(recovery model)改为Simple,参考如下两种方式。
    • 登录S SMS (SQL Server Managerment Studio)客户端,选择目标数据库,右键属性,查看Recovery model,修改Recovery model为Simple。

    • 执行SQL语句修改
      alter database [db1] set recovery simple with no_wait

      设置为Simple模式后不会产生增量备份,将不能进行表级时间点恢复。如果想恢复建立复制关系。需要将Recovery model 设置为full。

      alter database [db1] set recovery full with no_wait
  3. 数据库auto close属性为True时不会建立复制关系,并且不会产生复制关系异常的告警。

    需要将auto close属性关闭设置为False,才能重新自动建立复制关系。

    alter database [db1] set auto_close off with no_wait
support.huaweicloud.com/trouble-rds/rds_12_0129.html