接口约束
4.9 备份与恢复
4.9.14 恢复到已有实例
"order_id": "CS20122919584LQ7K"
}
● 异常响应
请参见异常请求结果。
状态码
● 正常 202
● 异常
请参见状态码。
错误码
请参见错误码。
4.9.14 恢复到已有实例
功能介绍
该章节介绍如何将数据库恢复到已有实例。
● 调用接口前,您需要了解API 认证鉴权。
调试
您可以在API Explorer中调试该接口。
接口约束
● 恢复SQL Server单个数据库到已有实例时,支持批量执行。
● 该接口不支持PostgreSQL数据库实例。
● 恢复到已有实例时,该接口存在如下约束:
– 源实例和目标实例的数据库类型必须一致,如都是MySQL。
– 目标实例数据库版本必须高于或等于源实例的数据库版本,如MySQL
5.7.25->5.7.27,SQL Server版本约束,详见表4-199。
– MySQL数据库目标实例的存储空间大于或等于源实例的存储空间总大小。
– 不支持跨区域恢复操作。
– 恢复MySQL数据库到已有实例时,目标实例与原实例表名大小写设置不一 致,可能会导致恢复失败。
● 恢复到当前实例时,该接口存在如下约束:
该接口仅支持实例的数据库引擎Microsoft SQL Server。
表4-199 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格式
POST /v3.1/{project_id}/instances/recovery
● URI样例
https://rds.cn-north-1.myhuaweicloud.com/
v3.1/0483b6b16e954cb88930a360d2c4e663/instances/recovery
● 参数说明
表4-200 参数说明
名称 是否必选 说明
project_id 是 租户在某一region下的
project ID。
获取方法请参见获取项 目ID。
请求消息
● 参数说明
表4-201 参数说明
名称 是否必
选
参数类 型
说明
source 是 Object 恢复数据源对象。
详情请参见表4-202。
target 是 Object 恢复目标对象。
详情请参见表4-203。
表4-202 source 字段数据结构说明
名称 是否必
选
参数类 型
说明
instance_i
d 是 String 实例ID。
type 否 String 表示恢复方式,枚举值:
● “backup”,表示使用备份文件恢复,按 照此方式恢复时,“type”字段为非必选,
“backup_id”必选。
● “timestamp”,表示按时间点恢复,按照 此方式恢复时,“type”字段必选,
“restore_time”必选。
backup_id 否 String 用于恢复的备份ID。当使用备份文件恢复时需 要指定该参数。
restore_ti
me 否 Intege
r 恢复数据的时间点,格式为UNIX时间戳,单 位是毫秒,时区为UTC。
名称 是否必
name 否 Map<
String, String
>
仅适用于SQL Server引擎,当有此参数时表示 支持局部恢复和重命名恢复,恢复数据以局部
– 新数据库名不能包含rdsadmin、
master、msdb、tempdb、model或
示例:"database_name":{"原数据库名称":"新数据库名称"}
正确示例:"database_name":
名称 是否必
_database 否 Boole
an 是否恢复所有数据库。不填写该字段默认为 false,不会恢复所有数据库到目标实例。
该字段仅适用于SQL Server引擎。
须知
"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"
} }
按时间点恢复:
MySQL:
{ "source": {
"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "timestamp",
"restore_time": 1532001446987 },
"target": {
"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01"
} }
Microsoft SQL Server:
{ "source": {
"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04", "type": "timestamp",
"restore_time": 1532001446987, "database_name": {
"db1": "dbtest1,dbtest2", "db2": "db2,db02", "db3": ""
} },
"target": {
"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
} }
响应消息
● 正常响应要素说明
表4-204 要素说明
名称 参数类型 说明
job_id String 本次任务的ID。
● 正常响应样例
{ "job_id": "ff80808157127d9301571bf8160c001d"
}
● 异常响应
请参见异常请求结果。
状态码
● 正常 200
● 异常
请参见状态码。
错误码
请参见错误码。