调用CopyDatabaseBetweenInstances接口在RDS实例间复制数据库。

该接口还适用于按时间点或备份集恢复到已有实例

调用该接口时,实例必须满足以下条件,否则将操作失败:

  • 源实例和目标实例同属于一个账户。
  • 源实例和目标实例的版本相同。
  • 源实例和目标实例在同一地域,可用区可以不同,网络类型需相同。
  • 目标实例中没有和源实例同名的数据库。
  • 目标实例的可用存储空间 >源实例中待复制数据库占用的空间。
    说明 仅适用于RDS SQL Server 2012/2016实例。您可以 恢复RDS MySQL实例的某些数据库或表到原实例或新实例

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CopyDatabaseBetweenInstances

系统规定参数,取值为CopyDatabaseBetweenInstances

DBInstanceId String rm-uf6wjk5xxxxxxx

源实例ID。

DbNames String {"test1":"test2"}

复制数据库名称列表,格式:{"源实例数据库名称":"目标实例数据库名称"}。

TargetDBInstanceId String rm-ut5ajk3xxxxxxx

目标实例ID,不能与源实例ID相同。

BackupId String 1065238746521

源实例备份集ID。按备份集复制数据库时,可以通过查询备份列表接口DescribeBackups获取备份集ID。

说明 BackupIdRestoreTime传入一个即可。
RestoreTime String 2011-06-11T16:00:00Z

按时间点复制数据库,可以选择备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。

说明 BackupIdRestoreTime传入一个即可。
SyncUserPrivilege String NO

是否复制用户和权限:

  • YES:表示复制用户和权限。如果目标实例中有同名的用户,则该用户将叠加源实例的同名用户的权限。
  • NO:表示不复制用户和权限。

默认值:NO

返回数据

名称 类型 示例值 描述
DBInstanceId String rm-uf6wjk5xxxxxxxxxx

实例ID。

RequestId String 803D11AF-C370-465B-AB46-CB3A642DC303

请求ID。

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=CopyDatabaseBetweenInstances
&DBInstanceId=rm-uf6wjk5xxxxxxx
&TargetDBInstanceId=rm-ut5ajk3xxxxxxx
&DbNames={"test1":"test2"}
&<公共请求参数>

正常返回示例

XML格式

<CopyDatabaseBetweenInstancesResponse>
	  <RequestId>803D11AF-C370-465B-AB46-CB3A642DC303</RequestId>
</CopyDatabaseBetweenInstancesResponse>

JSON格式

{
    "RequestId": "803D11AF-C370-465B-AB46-CB3A642DC303"
}

错误码

HttpCode 错误码 错误信息 描述
403 StorageLimitExceeded Exceeding the allowed Storage of DB instance. 生产磁盘空间限制

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