调用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

新实例付费类型:

  • Postpaid:后付费(按量付费)
  • Prepaid:预付费,(包年包月)
InstanceNetworkType String VPC

新实例网络类型:

  • Classic:经典网络
  • VPC:专有网络

默认与原实例网络类型一致。

DBInstanceId String rm-xxxxxxxx1

原实例ID。

说明
  • 按备份集恢复(即指定BackupId参数)时,本参数不是必须项。
  • 按时间点恢复(即指定RestoreTime参数)时,本参数为必须项。
TargetDBInstanceId String rm-uf6wjk5xxxxxxx

目标实例ID。

DbNames String 恢复实例至新实例:test1,test2;恢复实例至已有实例:{"test1":"newtest1","test2":"newtest2"}

数据库名称。

  • 若恢复数据至新实例,按如下格式:原库名1,新库名2
  • 若恢复数据至已有实例,按如下格式:{"原库名1":"新库名1","原库名2":"新库名2"}
BackupId String 29304****

备份集ID,可通过查询备份列表接口DescribeBackups获取。

指定此参数时,DBInstanceId参数为可选。

说明 BackupIdRestoreTime两者至少传入一个。
RestoreTime String 2011-06-11T16:00:00Z

备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。

指定此参数时,DBInstanceId参数为必须。

说明 BackupIdRestoreTime两者至少传入一个。
VPCId String vpc-xxxxxxxxxxx

新实例专有网络VPC ID。

VSwitchId String vsw-xxxxxxxxxxx

新实例虚拟交换机ID,多个值用半角逗号(,)隔开。

PrivateIpAddress String 172.XXX.XXX.69

设置新实例的内网IP,需要在指定交换机的IP地址范围内。系统默认通过VPCIdVSwitchId自动分配。

UsedTime String 1

指定新实例购买时长,取值:

  • 当参数PeriodYear时,UsedTime取值为1~3
  • 当参数PeriodMonth时,UsedTime取值为1~9
说明 若付费类型为Prepaid则该参数必须传入。
Period String Month

指定新的预付费实例为包年或者包月类型,取值:

  • Year:包年
  • Month:包月
说明 若参数PayType=Prepaid,该参数必须传入。
DBInstanceStorageType String local_ssd

新实例储存类型,取值:

  • local_ssd/ephemeral_ssd:本地SSD盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD云盘

返回数据

名称 类型 示例值 描述
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 操作失败,快照备份不支持部分还原。

访问错误中心查看更多错误码。