更新时间:2022-08-16 GMT+08:00

恢复到已有实例

功能介绍

该章节介绍如何将数据库恢复到已有实例。

接口约束

  • 该接口不支持PostgreSQL数据库实例。
  • 恢复到已有实例时,该接口存在如下约束:
    • 源实例和目标实例的数据库类型必须一致,如都是MySQL。
    • 目标实例数据库版本必须高于或等于源实例的数据库版本,如MySQL 5.7.25->5.7.27,SQL Server版本约束,详见表1
    • 目标实例的存储空间大于或等于源实例的存储空间总大小。
    • 不支持跨区域恢复操作。
  • 恢复到当前实例时,该接口存在如下约束:

    该接口仅支持实例的数据库引擎Microsoft SQL Server。

    表1 SQL Server恢复支持的版本规则

    原数据库版本

    可恢复到的版本

    2008 标准版

    2008 标准版

    2012 web版

    2012 web版

    2012 标准版

    2012 企业版

    2012 标准版

    2012 标准版

    2012 企业版

    2012 企业版

    2012 企业版

    2014 标准版

    2014 标准版

    2014 企业版

    2014 企业版

    2014

    2016 标准版

    2016 标准版

    2016 企业版

    2016 企业版

    2016 企业版

    2017 web版

    2017 web版

    2017 标准版

    2017 企业版

    2017 标准版

    2017 标准版

    2017 企业版

    2017 企业版

    2017 企业版

URI

  • URI格式

    POST https://{Endpoint}/v3/{project_id}/instances/recovery

  • URI样例

    https://rds.my-kualalumpur-1.alphaedge.tmone.com.my/v3/0483b6b16e954cb88930a360d2c4e663/instances/recovery

  • 参数说明
    表2 参数说明

    名称

    是否必选

    说明

    project_id

    租户在某一region下的project ID。

    获取方法请参见获取项目ID

请求消息

  • 参数说明
    表3 参数说明

    名称

    是否必选

    参数类型

    说明

    source

    Object

    恢复数据源对象。

    详情请参见表4

    target

    Object

    恢复目标对象。

    详情请参见表5

    表4 source字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    instance_id

    String

    实例ID。

    type

    String

    表示恢复方式,枚举值:

    • “backup”,表示使用备份文件恢复,按照此方式恢复时,“type”字段为非必选,“backup_id”必选。
    • “timestamp”,表示按时间点恢复,按照此方式恢复时,“type”字段必选,“restore_time”必选。

    backup_id

    String

    用于恢复的备份ID。当使用备份文件恢复时需要指定该参数。

    restore_time

    Integer

    恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。

    database_name

    Map<String, String>

    仅适用于SQL Server引擎,当有此参数时表示支持局部恢复和重命名恢复,恢复数据以局部恢复为主。

    • 新数据库名称不可与源实例或目标实例数据库名称重名,新数据库名称为空,默认按照原数据库名进行恢复。
      须知:

      不填写该字段时,默认恢复全部数据库。

      示例:”database_name”:{“原库名”:”新库名”}

    • 新数据库名不能包含rdsadmin、master、msdb、tempdb、model或resource字段(不区分大小写)。
    • 数据库名称长度在1~64个字符之间,包含字母、数字、下划线或中划线,不能包含其他特殊字符。
    表5 target字段数据结构说明

    名称

    是否必选

    参数类型

    说明

    instance_id

    String

    恢复目标实例ID。

  • 请求样例

    使用备份文件恢复:

    MySQL:

    {
    	"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",
    		"database_name": {
    			"db1": "dbtest1",
    			"db2": ""
    		}
    	},
    	"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",
    			"db2": ""
    		}
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }

响应消息

  • 正常响应要素说明
    表6 要素说明

    名称

    参数类型

    说明

    job_id

    String

    本次任务的ID。

  • 正常响应样例
    {
    	"job_id": "ff80808157127d9301571bf8160c001d"
    }
  • 异常响应

    请参见异常请求结果

状态码

请参见状态码

错误码

请参见错误码