调用RecoveryDBInstance接口恢复数据库。
本接口支持恢复数据至新实例或已有实例。但如需恢复至已有实例,建议您使用复制数据库接口。
恢复数据至新实例:先创建一个新实例,再把原实例中的全部或者部分数据库恢复至新实例。
- 若指定数据库名,则只恢复指定的数据库(部分恢复)。
- 若不指定数据库名,则恢复原实例上的所有数据库。
说明 该接口仅适用于SQL Server 2012及以上版本的实例。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | RecoveryDBInstance | 系统规定参数。取值:RecoveryDBInstance。 |
DBInstanceClass | String | 否 | rds.mysql.s2.large | 新实例规格。详情请参见实例规格。 |
DBInstanceStorage | Integer | 否 | 5 | 新实例存储容量。单位:GB。详情请参见实例规格。 |
PayType | String | 否 | Postpaid | 新实例付费类型:
|
InstanceNetworkType | String | 否 | VPC | 新实例网络类型:
默认与原实例网络类型一致。 |
DBInstanceId | String | 否 | rm-xxxxxxxx1 | 原实例ID。 说明
|
TargetDBInstanceId | String | 否 | rm-uf6wjk5xxxxxxx | 目标实例ID。 |
DbNames | String | 是 | 恢复实例至新实例:test1,test2;恢复实例至已有实例:{"test1":"newtest1","test2":"newtest2"} | 数据库名称。
|
BackupId | String | 否 | 29304**** | 备份集ID,可通过查询备份列表接口DescribeBackups获取。 指定此参数时,DBInstanceId参数为可选。 说明 BackupId和RestoreTime两者至少传入一个。 |
RestoreTime | String | 否 | 2011-06-11T16:00:00Z | 备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 指定此参数时,DBInstanceId参数为必须。 说明 BackupId和RestoreTime两者至少传入一个。 |
VPCId | String | 否 | vpc-xxxxxxxxxxx | 新实例专有网络VPC ID。 |
VSwitchId | String | 否 | vsw-xxxxxxxxxxx | 新实例虚拟交换机ID,多个值用半角逗号(,)隔开。 |
PrivateIpAddress | String | 否 | 172.XXX.XXX.69 | 设置新实例的内网IP,需要在指定交换机的IP地址范围内。系统默认通过VPCId和VSwitchId自动分配。 |
UsedTime | String | 否 | 1 | 指定新实例购买时长,取值:
说明 若付费类型为Prepaid则该参数必须传入。 |
Period | String | 否 | Month | 指定新的预付费实例为包年或者包月类型,取值:
说明 若参数PayType=Prepaid,该参数必须传入。 |
DBInstanceStorageType | String | 否 | local_ssd | 新实例储存类型,取值:
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
DBInstanceId | String | rm-xxxxxxx | 实例ID。 |
RequestId | String | EFB6083A-7699-489B-8278-C0CB4793A96E | 请求ID。 |
OrderId | String | 54325**** | 订单ID。 |
示例
请求示例
http(s)://rds.aliyuncs.com/?Action=RecoveryDBInstance
&DBInstanceClass=rds.mysql.s2.large
&DBInstanceStorage=5
&PayType=Postpaid
&InstanceNetworkType=VPC
&DBInstanceId=rm-xxxxxxxx1
&TargetDBInstanceId=rm-uf6wjk5xxxxxxx
&DbNames=恢复实例至新实例:test1,test2;恢复实例至已有实例:{"test1":"newtest1","test2":"newtest2"}
&BackupId=29304****
&RestoreTime=2011-06-11T16:00:00Z
&VPCId=vpc-xxxxxxxxxxx
&VSwitchId=vsw-xxxxxxxxxxx
&PrivateIpAddress=172.XXX.XXX.69
&UsedTime=1
&Period=Month
&DBInstanceStorageType=local_ssd
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<RecoveryDBInstanceResponse>
<DBInstanceId>rm-xxxxxxx</DBInstanceId>
<RequestId>EFB6083A-7699-489B-8278-C0CB4793A96E</RequestId>
<OrderId>54325****</OrderId>
</RecoveryDBInstanceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"DBInstanceId" : "rm-xxxxxxx",
"RequestId" : "EFB6083A-7699-489B-8278-C0CB4793A96E",
"OrderId" : "54325****"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | IllegalParameter | illegal parameter, param is empty. | 参数不正确。 |
400 | InvalidRecoveryDbInstance.StorageSize | The disk space of the new instance cannot be less than that of the current instance | 操作失败,新实例的磁盘空间不能小于当前实例的空间。 |
400 | DBCountLimitExceeded | Db count limit exceeded. | 超过了数据库计数限制。 |
403 | Forbidden.SnapshotRecovery | Snapshot backup does not support partial restore | 操作失败,快照备份不支持部分还原。 |
访问错误中心查看更多错误码。