CopyDatabaseBetweenInstancesを呼び出して、あるインスタンスから別のインスタンスにデータベースをコピーできます。

CopyDatabaseBetweenInstances操作を呼び出して、特定のデータベースを時点ごとまたはバックアップファイルごとに既存のインスタンスに復元することもできます。 詳細については、「ApsaraDB RDS For SQL Serverインスタンスのデータの復元」をご参照ください。

この API を呼び出す場合、インスタンスは次の要件を満たしている必要があります。

  • ソースインスタンスとターゲットインスタンスは同じアカウントに属しています。
  • ソースインスタンスとターゲットインスタンスは、同じバージョンのデータベースエンジンを実行します。
  • ソースインスタンスとターゲットインスタンスが同じリージョンにあり、異なるゾーンに属している場合がある。 ネットワークタイプは同じでなければなりません。
  • ソースインスタンスとターゲットインスタンスには、同じ名前のデータベースがない。
  • コピー先インスタンスの使用可能なストレージ容量が、コピーするデータベースのサイズよりも大きいこと。
    説明 CopyDatabaseBetweenInstances操作は、SQL Server 2012またはSQL Server 2016を実行するApsaraDB RDS for SQL Serverインスタンスにのみ適用できます。 ApsaraDB RDS for MySQLインスタンスの特定のデータベースまたはテーブルを元のインスタンスまたは新しいインスタンスに復元できます。 詳細については、「ApsaraDB RDS For MySQLインスタンスの個々のデータベースとテーブルの復元」をご参照ください。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

項目 データ型 必須/任意 例: 説明 
操作 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

システムがデータベースをコピーする時点。 バックアップ保持期間内の時点を選択できます。 ISO 8601標準のyyyy-MM-dd T HH:mm:ss Z形式で時刻を指定します。 時刻はUTCである必要があります。

説明 BackupIdまたはRestoreTimeパラメーターのいずれかを指定する必要があります。
SyncUserPrivilege String 任意 いいえ

ユーザーと権限をコピーするかどうかを指定します。

  • 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"
}

エラーコード

HTTP ステータスコード エラーコード エラーメッセージ 説明 
403 StorageLimitExceeded DBインスタンスの許可ストレージを超えています。 インスタンスのディスク容量がコピーするデータベースのサイズより小さい場合に返されるエラーメッセージ。

エラーコードリストについては、「API エラーセンター」をご参照ください。