恢复到已有实例
调试
您可以在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。
约束限制:
不涉及。
取值范围:
不涉及。
默认取值:
不涉及。
请求消息
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
source |
是 |
Object |
参数解释: 恢复数据源对象。 详情请参见表4。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
target |
是 |
Object |
参数解释: 恢复目标对象。 详情请参见表5。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
instance_id |
是 |
String |
参数解释: 实例ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
type |
否 |
String |
参数解释: 实例的恢复方式。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
backup_id |
否 |
String |
参数解释: 用于恢复的备份ID。当使用备份文件恢复时需要指定该参数。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
restore_time |
否 |
Integer |
参数解释: 恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
database_name |
否 |
Map<String, String> |
参数解释: 恢复后的新数据库名称。当有此参数时表示支持局部恢复和重命名恢复,恢复数据以局部恢复为主。 约束限制:
取值范围:
示例:
"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 |
参数解释: 是否恢复所有数据库到目标实例。 约束限制: 该字段仅适用于SQL Server引擎。 取值范围:
默认取值: 不填写该字段默认为false。 |
请求示例
- 使用备份文件将数据恢复到实例。
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" }
- 异常响应
请参见异常请求结果。
状态码
- 正常
- 异常
请参见状态码。
错误码
请参见错误码。