云数据库 RDS-RDS for SQL Server如何解除和重建复制关系:解决方案
解决方案
- 暂时解除复制关系
- 非2017企业版的实例
alter database [@DBName] set partner off
[@DBName]:指定需要解除复制关系的库名。
- 解除复制关系后的操作需要和该语句在一个批处理中执行,解除复制关系后,系统会尽快自动重建该库的复制关系,不需要手动执行SQL重建。
- 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';
- 非2017企业版的实例
- 解除复制关系并且要求不再自动建立(不推荐)
参考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
- 数据库auto close属性为True时不会建立复制关系,并且不会产生复制关系异常的告警。
需要将auto close属性关闭设置为False,才能重新自动建立复制关系。
alter database [db1] set auto_close off with no_wait