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

复制数据库名称列表,格式如下:{"原库名1":"新库名1","原库名2":"新库名2"}

BackupId String 106523874****

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

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

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

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

是否复制用户和权限:

  • YES:表示复制用户和权限。如果目标实例中有同名的用户,则该用户将叠加源实例的同名用户的权限。
  • 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. 当前集群的资源不足,请稍后再试。

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