调用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。
说明
BackupId和
RestoreTime传入一个即可。
|
RestoreTime | String | 否 | 2011-06-11T16:00:00Z | 按时间点复制数据库,可以选择备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。
说明
BackupId和
RestoreTime传入一个即可。
|
SyncUserPrivilege | String | 否 | 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. | 生产磁盘空间限制 |
访问错误中心查看更多错误码。