调用CopyDatabaseBetweenInstances接口在RDS实例间复制数据库。
本接口还适用于按时间点或备份集恢复到已有实例。
调用本接口时,实例必须满足以下条件,否则将操作失败:
- 源实例和目标实例同属于一个账户。
- 源实例和目标实例的版本相同。
- 源实例和目标实例在同一地域,可用区可以不同,网络类型需相同。
- 目标实例中没有和源实例同名的数据库。
- 目标实例的可用存储空间 >源实例中待复制数据库占用的空间。说明 本接口仅适用于SQL Server 2012及以上版本的实例。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | CopyDatabaseBetweenInstances | 系统规定参数。取值:CopyDatabaseBetweenInstances。 |
| DBInstanceId | String | 是 | rm-uf6wjk5xxxxxxx | 源实例ID。 |
| TargetDBInstanceId | String | 是 | rm-ut5ajk3xxxxxxx | 目标实例ID,不能与源实例ID相同。 |
| DbNames | String | 是 | {"test1":"newtest1","test2":"newtest2"} | 复制数据库名称列表,格式如下: |
| BackupId | String | 否 | 106523874**** | 源实例备份集ID。按备份集复制数据库时,可以通过查询备份列表接口DescribeBackups获取备份集ID。 说明 BackupId和RestoreTime传入一个即可。 |
| RestoreTime | String | 否 | 2011-06-11T16:00:00Z | 按时间点复制数据库,可以选择备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。 说明 BackupId和RestoreTime传入一个即可。 |
| SyncUserPrivilege | String | 否 | NO | 是否复制用户和权限:
默认值:NO。 |
返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RequestId | String | 803D11AF-C370-465B-AB46-CB3A642DC303 | 请求ID。 |
示例
请求示例
http(s)://rds.aliyuncs.com/?Action=CopyDatabaseBetweenInstances
&DBInstanceId=rm-uf6wjk5xxxxxxx
&TargetDBInstanceId=rm-ut5ajk3xxxxxxx
&DbNames={"test1":"newtest1","test2":"newtest2"}
&BackupId=106523874****
&RestoreTime=2011-06-11T16:00:00Z
&SyncUserPrivilege=NO
&公共请求参数
正常返回示例
XML格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CopyDatabaseBetweenInstancesResponse>
<RequestId>803D11AF-C370-465B-AB46-CB3A642DC303</RequestId>
</CopyDatabaseBetweenInstancesResponse>
JSON格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "803D11AF-C370-465B-AB46-CB3A642DC303"
}
错误码
| HttpCode | 错误码 | 错误信息 | 描述 |
|---|---|---|---|
| 400 | InvalidBackupSetID | Invalid backup set id. | 备份集不存在。请调用DescribeBackups接口查看已存在的备份集。 |
| 400 | DBCountLimitExceeded | Db count limit exceeded. | 超过了数据库计数限制。 |
| 400 | BackupRestoreNotSupported.BasicHA | Basic instances cannot be restored to high availability instances, and high availability instances cannot be restored to basic instances. | 基础版实例不能恢复到高可用实例,高可用实例不能恢复到基础版实例。 |
| 400 | BackupRestoreNotSupported.HADedicatedAlwaysOn | High availability instances cannot be restored to dedicated cluster instances or AlwaysOn instances. | 操作失败,高可用实例不能还原到专属集群实例或者企业集群版实例。 |
| 400 | BackupRestoreNotSupported.ShareDedicatedAlwaysOn | Shared instances cannot be restored to dedicated cluster instances, AlwaysOn instances, or high availability instances. | 共享实例不能还原到专属集群实例或者企业集群版实例或者高可用版实例。 |
| 400 | OperationDenied.RestoreTime | The instance with snapshot backup enabled can only be restored to the instance with snapshot backup enabled. | 开启快照备份的实例,只能恢复到开启快照备份的实例。 |
| 400 | OperationDenied.SnapshotBackupSet | Snapshot backup set can only be restored to the instance with snapshot backup enabled. | 开启快照备份的实例且备份集类型为快照备份的,只能恢复到开启快照备份的实例。 |
| 400 | CanNotCopyDBHasTDEEnabled | The source database has enabled the TDE feature. You cannot copy it to another instance. | 源数据库已启用TDE功能,无法复制到其他实例。 |
| 400 | InvalidBackupDBNames.NotFound | The specified BackupDBNames is not found. | 操作失败,数据库实例名称为空。 |
| 400 | InvalidBackupDBNames.Malformed | The specified backup database is not valid. | 操作失败,指定的备份数据库无效。 |
| 400 | InvalidDBName.Format | Specified DB name is not valid. | 无效的数据库名称。请重新命名,数据库名称由小写字母,数字、下划线组成,字母开头,字母或数字结尾,最长16个字符。 |
| 400 | InvalidDBInstanceName.NotFound | Invalid DBInstanceId NotFound. | 数据库实例ID不存在,请检查。 |
| 400 | EngineNotSupported | The engine does not support the operation. | 当前引擎不支持此操作。 |
| 400 | InvalidTargetDBInstanceName.Format | Specified Target DB instance name is not valid. | 目标实例名称不正确。 |
| 400 | MasterDBInstanceState.NotSupport | The Master instance state does not support this operation. | 操作失败,当前实例状态不支持该操作。 |
| 400 | TargetInstanceEngineNotSupported | The specified Engine cannot be supported the operation. | 操作失败,引擎不支持此操作。 |
| 400 | InvalidInstancesRegion.Malformed | The instance region is not the same as the target instance region. | 目标实例region和原实例region不同 |
| 400 | InvalidStartTime.Format | The specified parameter "StartTime" is not valid. | 开始时间格式不正确。格式要求为标准GMT格式,即YYYY-MM-DDThh:mmZ。示例如下: DescribeDBInstancePerformance:2012-06-11T15:00Z。 DescribeErrorLogs:2011-06-11T16:00Z。 |
| 400 | InvalidEndTime.Format | The specified parameter "EndTime" is not valid. | 操作失败,结束时间格式不正确。格式要求为标准GMT格式,即YYYY-MM-DDThh:mmZ。例如:2012-06-11T15:00Z。 |
| 400 | InvalidParameterCombination | The end time must be greater than the start time | 结束时间必须晚于开始时间。 |
| 400 | InvalidBackupSetLocation.Format | Specified backup set location is not valid. | 指定的备份集位置无效。 |
| 400 | InvalidCrossRegionTrans | Cross region instance trans is not supported | 不支持跨区域实例传输。 |
| 400 | ErrorParametersConflict | Parameter BackupsetID and restoretime can only exist one. | 参数BackupID和restoretime只能存在一个。 |
| 400 | InvalidDBName.NotFound | Specified DB name does not exist. | 指定的数据库名称不存在。请输入正确的数据库账号名称。 |
| 400 | InvalidDBName.Duplicate | Specified DB name already exists in the This instance. | 当前实例中已存在相同的数据库名称。请更换名称。 |
| 400 | ReadDBInstanceNotSupport | The operation is not permitted due to type of the instance. | 只读实例不允许执行该操作。 |
| 400 | InvalidRecoveryDbInstance.StorageSize | The disk space of the new instance cannot be less than that of the current instance | 操作失败,新实例的磁盘空间不能小于当前实例的空间。 |
| 400 | InvalidRecoveryDBNames.Format | The specified parameter DBNames is not valid. | 实例名称无效,请检查参数是否正确。 |
| 400 | InvalidBackupIdOrRestoreTime.NotFound | The specified parameter BackupId or RestoreTime is not valid. | 操作失败,参数BackupId或RestoreTime无效。 |
| 400 | Forbidden.RegionNotFound | The provided RegionId does not exist in our record. | 操作失败,当前提供的地域标识在记录中不存在。 |
| 400 | ImageNotFound | The specified Image is disabled or is deleted. | 指定的镜像被禁用或删除。 |
| 400 | InvalidZone.NotSupportedForStorageType | The specified zone is closed or invalid for Specified DBInstanceStorageType. | 指定的区域已关闭或对于指定的DBInstanceStorageType无效。 |
| 400 | InvalidEngineOrEngineVersion | The specified params engine or engineVersion should not be null. | 指定的参数engine或engineVersion不应为null。 |
| 400 | InvalidGeneralGroupNameOrGdnInstanceName | The specified params generalGroupName or gdnInstanceName should not be null. | 指定的参数generalGroupName或gdInsttanceName不应为空。 |
| 400 | InvalidVSwitchId.NotFound | Specified virtual switch is not found in specified VPC. | 该VPC内无可用交换机。 |
| 400 | CDDC.TargetHostIDNotAvailable | The target host ID is not available. | 目标主机不可用,请更换主机。 |
| 400 | CDDC.AvailableHostsNotEnoughInZone | Not enough available hosts are in the target zone. | 目标可用区没有足够的主机资源,请在可用区中创建主机。 |
| 400 | ReadOnlyInstanceNotSupport | Specified ReadOnly Instance not support this operation. | 操作失败,只读实例不支持此操作。 |
| 400 | InvalidShareDbInstanceClassNotSupport | The current instance classType is not support operation. | 当前实例类型不支持操作 |
| 400 | InvalidQuantity.NotSupported | The specified instance quantity is not supported. | 实例数量不符合订购限制,请检查。 |
| 400 | IncorrectMasterDBInstanceState | Master instance state does not support this operation. | 主实例状态不支持此操作。 |
| 400 | InvalidDBInstance.ReadDBInstanceExceeded | Current DB Instance exceeding the allowed amount of read instance. | 已超过只读实例上限,请调整实例数量。内存超过64GB的MySQL最多支持10个只读实例,小于等于64GB的MySQL最多支持5个只读实例。 |
| 400 | InvalidEngineVersion.Malformed | Specified engine version is not valid. | 数据库引擎版本无效,请确认后重试。 |
| 400 | InvalidEssdStorageSize | The cloud ESSD storage size is invalid. | 云盘存储规格有误,请检查存储规格配置。 |
| 400 | IncorrectInstanceNetworkType | The specified parameter InstanceNetworkType is not valid. | 参数InstanceNetworkType错误 |
| 400 | AtLeastTwoVSwitchParamExists | The specified params(Vswitchs) at least two. | 指定的参数(Vswitchs)至少有两个,可用区和Vswitchs对应。 |
| 403 | StorageLimitExceeded | Exceeding the allowed Storage of DB instance. | 已超过磁盘空间限制,请清理磁盘空间。 |
| 403 | InvalidTempInstance.NotSupport | The temp db Instance is not support. | 操作失败,当前实例已被锁定。 |
| 403 | IncorrectDBInstanceState | The current database instance state does not support the operation. | 操作失败,数据库状态不支持此操作。请查看数据库信息,确保数据库状态为运行中。 |
| 403 | IncorrectDBInstanceType | Current DB instance engine and type does not support operations. | 操作失败,当前数据库实例引擎和类型不支持。 |
| 403 | Forbidden.SnapshotRecovery | Snapshot backup does not support partial restore | 操作失败,快照备份不支持部分还原。 |
| 403 | OperationDenied.Resource | Specified DB instance class or storage is not available in all Availability Zones. | 资源不足,请变更实例规格或存储规格后再试。 |
| 403 | ReadonlyDBInstanceStorageExceeded | You can not create the order with the db instance because The masterInstance storage value exceeding the readonlyInstance storage value. | 操作失败,主实例存储值超过只读实例存储值,无法使用数据库实例创建订单。 |
| 403 | MasterDBInstanceClassNotSupport | You can not create the readonly instance with the db instance class does not support. | 操作失败,无法使用主实例类不支持的属性创建只读实例。 |
| 403 | ReadonlyDBInstanceClassNotSupport | You can not create the readonly instance with the master instance class does not support. | 操作失败,无法使用数据库实例类不支持的选项创建只读实例。 |
| 403 | ReadonlyDBInstanceClassLowerThanMasterInstance | The readonly instance db instance class are lower than master instance db instance class. | 只读实例数据库实例规格低于主实例数据库实例规格。 |
| 403 | InvalidSwitchType.Malformed | The specified parameter InvalidSwitchType is not valid. | 参数InvalidSwitchType无效。 |
| 403 | UnsupportedCopyDbHighAvailabilityToBasic | Replicate Database from RDS Category:HighAvailability to RDS Category:Basic is not supported. | 不支持将数据库从高可用复制到基础版。 |
| 403 | InvalidInstanceVersion | Source instance version is greater than the target instance version. | 源实例版本大于目标实例版本。 |
| 403 | UnsupportedCopyDbShareToHighAvailability | Replicate Database from RDS Category:Share to RDS Category:HighAvailability is not supported. | 不支持将数据库从共享版本复制到高可用版本。 |
| 403 | UnsupportedCopyDbAlwaysOnToBasic | Replicate Database from RDS Category:AlwaysOn to RDS Category:Basic is not supported. | 不支持将数据库从集群版复制到基础版。 |
| 403 | UnsupportedCopyDbBasicToShare | Replicate Database from RDS Category:Basic to RDS Category:Share is not supported. | 不支持将数据库从基础版复制到共享版。 |
| 403 | UnsupportedCopyDbAlwaysOnToHighAvailability | Replicate Database from RDS Category:AlwaysOn to RDS Category:HighAvailability is not supported. | 不支持将数据库从集群版复制到高可用版。 |
| 403 | UnsupportedCopyDbShareToBasic | Replicate Database from RDS Category:Share to RDS Category:Basic is not supported. | 不支持将数据库从共享版复制到基础版。 |
| 403 | UnsupportedCopyDbHighAvailabilityToShare | Replicate Database from RDS Category:HighAvailability to RDS Category:Share is not supported. | 不支持将数据库从高可用版复制到共享版。 |
| 403 | UnsupportedCopyDbShareToAlwaysOn | Replicate Database from RDS Category:Share to RDS Category:AlwaysOn is not supported. | 不支持将数据库从共享版复制到集群版。 |
| 403 | UnsupportedCopyDbAlwaysOnToShare | Replicate Database from RDS Category:AlwaysOn to RDS Category:Share is not supported. | 不支持将数据库从集群版复制到共享版。 |
| 403 | InvalidParamTableMeta.RestoreTime | There are databases created later than the last full backup at the instance level, point-in-time restore is not possible, try to restore using a backup set or pick another database restore time. | 在实例级别,存在晚于上次完整备份创建的数据库,无法进行时间点还原,请尝试使用备份集还原或选择其他数据库还原时间。 |
| 404 | InvalidDBInstance.NotFound | The specified instance does not exist or is not supported. | 没有找到指定的实例,请检查实例的正确性。 |
| 404 | InvalidInstanceStorageType.NotFound | The specified DBInstanceStorageType is not found. | 实例存储类型参数(InstanceStorageType)未配置,请重新配置。 |
| 404 | InvalidRegion.NotFound | Specified Region does not exist in the RDS | 地域无效。 |
| 404 | IncorrectVswitchId | The specified parameter VSwitchId is not valid. | 交换机参数无效。 |
| 404 | InsufficientResourceCapacity | Current cluster resources are insufficient. Try again later. | 当前集群的资源不足,请稍后再试。 |
访问错误中心查看更多错误码。