恢复到已有实例
调试
您可以在API Explorer中调试该接口。
接口约束
- 恢复RDS for SQL Server单个数据库到已有实例时,支持批量执行。
- 恢复到已有实例时,该接口存在如下约束:
- 源实例和目标实例的数据库类型必须一致,如都是MySQL。
- 恢复RDS for MySQL实例时,目标实例数据库版本必须高于或等于源实例的数据库版本,如MySQL 5.7.25->5.7.27。
- 恢复RDS for PostgreSQL实例时,必须选择恢复到同版本实例。
- RDS for SQL Server的原实例及目标实例的时区配置要完全一致,否则会有数据不一致风险。
- RDS for SQL Server版本约束,详见表1。
- RDS for MySQL数据库目标实例的存储空间大于或等于源实例的存储空间总大小。
- 不支持跨区域恢复操作。
- 恢复RDS for MySQL数据库到已有实例时,目标实例与原实例表名大小写设置不一致,可能会导致恢复失败。
- 恢复到当前实例时,该接口存在如下约束:
该接口仅支持实例的数据库引擎MySQL和Microsoft SQL Server。
表1 RDS for SQL Server恢复支持的版本规则 原数据库版本
可恢复到的版本
2008 R2 web版
2008 R2 web版
2008 R2 标准版
2008 R2 企业版
2012 web版
2012 标准版
2012 企业版
2014 web版
2014 标准版
2014 企业版
2016 web版
2016 标准版
2016 企业版
2017 web版
2017 标准版
2017 企业版
2008 R2 企业版
2008 R2 企业版
2012 企业版
2014 企业版
2016 企业版
2017 企业版
2008 R2 标准版
2008 R2 标准版
2008 R2 企业版
2012 标准版
2012 企业版
2014 标准版
2014 企业版
2016 标准版
2016 企业版
2017 标准版
2017 企业版
2012 web版
2012 web版
2012 标准版
2012 企业版
2014 web版
2014 标准版
2014 企业版
2016 web版
2016 标准版
2016 企业版
2017 web版
2017 标准版
2017 企业版
2012 标准版
2012 标准版
2012 企业版
2014 标准版
2014 企业版
2016 标准版
2016 企业版
2017 标准版
2017 企业版
2012 企业版
2012 企业版
2014 企业版
2016 企业版
2017 企业版
2014 web
2014 web版
2014 标准版
2014 企业版
2016 web版
2016 标准版
2016 企业版
2017 web版
2017 标准版
2017 企业版
2014 标准版
2014 标准版
2014 企业版
2016 标准版
2016 企业版
2017 标准版
2017 企业版
2014 企业版
2014 企业版
2016 企业版
2017 企业版
2016 web
2016 web版
2016 标准版
2016 企业版
2017 web版
2017 标准版
2017 企业版
2016 标准版
2016 标准版
2016 企业版
2017 标准版
2017 企业版
2016 企业版
2016 企业版
2017 企业版
2017 web版
2017 web版
2017 标准版
2017 企业版
2017 标准版
2017 标准版
2017 企业版
2017 企业版
2017 企业版
URI
- URI格式
- 参数说明
表2 参数说明 名称
是否必选
说明
project_id
是
租户在某一Region下的项目ID。
获取方法请参见获取项目ID。
请求消息
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
instance_id |
是 |
String |
实例ID。 |
type |
否 |
String |
表示恢复方式,枚举值:
|
backup_id |
否 |
String |
用于恢复的备份ID。当使用备份文件恢复时需要指定该参数。 |
restore_time |
否 |
Integer |
恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。 |
database_name |
否 |
Map<String, String> |
仅适用于SQL Server引擎,当有此参数时表示支持局部恢复和重命名恢复,恢复数据以局部恢复为主。
示例:
"database_name":{"原数据库名称":"新数据库名称"} 正确示例:"database_name":{"A":"A,A1,A2","B":"B1,B2","C":""} 错误示例:"database_name":{"A":"A","B":"B1,B2","C":"B1,C1","D":"D1,d1"}, 错误原因如下:
须知:
恢复前请评估恢复后的数据大小是否超出目标实例购买的磁盘大小,如果磁盘容量不足,请先扩容磁盘,避免恢复过程中由于磁盘容量限制导致恢复失败。 |
restore_all_database |
否 |
Boolean |
是否恢复所有数据库。不填写该字段默认为false,不会恢复所有数据库到目标实例。 该字段仅适用于SQL Server引擎。
须知:
如果您想恢复所有数据库到已有实例,必须设置restore_all_database为true。 |
请求示例
- 使用备份文件将数据恢复到实例。
POST https://{endpoint}/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/recovery { "source": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "backup", "backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe" }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01" } }
- 使用SQL Server备份文件将所有数据库恢复到实例。
{ "source": { "instance_id": "61879e6085bc44d1831b0ce62d988fd9in04", "type": "backup", "backup_id": "b021670e69ba4538b7b2ed07257306aebr04", "restore_all_database":true }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04" } }
- 将实例的数据恢复到指定时间点。
{ "source": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "timestamp", "restore_time": 1532001446987 }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01" } }
- 将SQL Server实例的部分数据库恢复到指定时间点。
{ "source": { "instance_id": "61879e6085bc44d1831b0ce62d988fd9in04", "type": "timestamp", "restore_time": 1532001446987, "database_name": { "db1": "dbtest1,dbtest2", "db2": "db2,db02", "db3": "" } }, "target": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04" } }
响应消息
- 正常响应要素说明
表6 要素说明 名称
参数类型
说明
job_id
String
本次任务的ID。
- 正常响应样例
{ "job_id": "ff80808157127d9301571bf8160c001d" }
- 异常响应
请参见异常请求结果。
状态码
- 正常
- 异常
请参见状态码。
错误码
请参见错误码。