Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive
Help Center/ Relational Database Service/ API Reference/ API v3.1 (Recommended)/ Restoring Data to an Existing DB Instance

Restoring Data to an Existing DB Instance

Updated on 2024-11-19 GMT+08:00

Function

This API is used to restore a database to an existing DB instance.

  • Before calling an API, you need to understand the API in Authentication.

Constraints

  • RDS for SQL Server supports batch calling of this API to restore one database to an existing DB instance.
  • When data is restored to an existing DB instance, the API has the following constraints:
    • The DB engine of the original DB instance must be the same as that of the target DB instance. For example, if the original DB instance is running MySQL, the target DB instance must also run MySQL.
    • For RDS for MySQL, the DB engine version of the target DB instance must be at least equal to that of the original DB instance, for example, from MySQL 5.7.25 to 5.7.27.
    • For RDS for PostgreSQL, the DB engine version of the target DB instance must be the same as that of the original DB instance.
    • For RDS for SQL Server, the time zone of the target DB instance must be the same as that of the original DB instance. Otherwise, data inconsistency may occur.
    • For version constraints of RDS for SQL Server, see Table 1.
    • The total storage space of the target DB instance must be at least equal to that of the original DB instance for RDS for MySQL.
    • Cross-region restoration is not supported.
    • For RDS for MySQL DB instances, when data is restored to an existing DB instance, the case sensitivity setting of the existing DB instance must be the same as that of the original DB instance. Otherwise, the restoration may fail.
  • When data is restored to an original DB instance:

    This API is supported only for MySQL and Microsoft SQL Server DB engines.

    Table 1 Restoring to the DB engine versions supported by RDS for SQL Server

    Original DB Engine Version

    Restore To

    2008 R2 Standard Edition

    2008 R2 Standard Edition

    2008 R2 Enterprise Edition

    2012 Standard Edition

    2012 Enterprise Edition

    2014 Standard Edition

    2014 Enterprise Edition

    2016 Standard Edition

    2016 Enterprise Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2012 Web Edition

    2012 Web Edition

    2012 Standard Edition

    2012 Enterprise Edition

    2014 Web Edition

    2014 Standard Edition

    2014 Enterprise Edition

    2016 Web Edition

    2016 Standard Edition

    2016 Enterprise Edition

    2017 Web Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2012 Standard Edition

    2012 Standard Edition

    2012 Enterprise Edition

    2014 Standard Edition

    2014 Enterprise Edition

    2016 Standard Edition

    2016 Enterprise Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2012 Enterprise Edition

    2012 Enterprise Edition

    2014 Enterprise Edition

    2016 Enterprise Edition

    2017 Enterprise Edition

    2014 Standard Edition

    2014 Standard Edition

    2014 Enterprise Edition

    2016 Standard Edition

    2016 Enterprise Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2014 Enterprise Edition

    2014 Enterprise Edition

    2016 Enterprise Edition

    2017 Enterprise Edition

    2016 Standard Edition

    2016 Standard Edition

    2016 Enterprise Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2016 Enterprise Edition

    2016 Enterprise Edition

    2017 Enterprise Edition

    2017 Web Edition

    2017 Web Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2017 Standard Edition

    2017 Standard Edition

    2017 Enterprise Edition

    2017 Enterprise Edition

    2017 Enterprise Edition

URI

  • URI format

    POST /v3.1/{project_id}/instances/recovery

  • Parameter description
    Table 2 Parameter description

    Name

    Mandatory

    Description

    project_id

    Yes

    Project ID of a tenant in a region.

    For details about how to obtain the project ID, see Obtaining a Project ID.

Request

Table 3 Parameter description

Name

Mandatory

Type

Description

source

Yes

Object

Specifies the restoration information.

For details, see Table 4.

target

Yes

Object

Specifies the restoration target.

For details, see Table 5.

Table 4 source field data structure description

Name

Mandatory

Type

Description

instance_id

Yes

String

Specifies the DB instance ID.

type

No

String

Specifies the restoration mode. Enumerated values include:

  • backup: indicates using backup files for restoration. In this mode, type is not mandatory and backup_id is mandatory.
  • timestamp: indicates the point-in-time restoration mode. In this mode, type and restore_time are mandatory.

backup_id

No

String

Specifies the ID of the backup used to restore data. This parameter must be specified when the backup file is used for restoration.

restore_time

No

Integer

Specifies the time point of data restoration in the UNIX timestamp. The unit is millisecond and the time zone is UTC.

database_name

No

Map<String, String>

This parameter applies only to the Microsoft SQL Server DB engine.

  • If this parameter is specified, you can restore all or specific databases and rename new databases.
  • If this parameter is not specified, all databases are restored by default.
  • You can enter multiple new database names and separate them with commas (,). The new database names can contain but cannot be the same as the original database names.
  • Note the following when you are specifying new database names:
    • New database names must be different from the original database names. If they are left blank, the original database names will be used for restoration by default.
    • Check whether new database names are case sensitive based on the character set selected during instance creation and make sure each new database name is unique.
    • The total number of new and existing databases on the existing or original DB instances where data is restored cannot exceed the database quota specified by rds_databases_quota.
    • New database names cannot contain the following fields (case-insensitive): rdsadmin, master, msdb, tempdb, model, and resource.
    • New database names must consist of 1 to 64 characters, including only letters, digits, underscores (_), and hyphens (-). If you want to restore data to multiple new databases, separate them with commas (,).
    • New database names must be different from any database names on the original DB instance.
    • New database names must be different from any database names on the existing or original DB instances where data is restored.
Example:
"database_name":{"Original database name":"New database name"}

Correct example: "database_name":{"A":"A,A1,A2","B":"B1,B2","C":""}

Wrong example: "database_name":{"A":"A","B":"B1,B2","C":"B1,C1","D":"D1,d1"},

Error causes are as follows:

  1. The new database name (A) is the same as the original database name (A).
  2. The new database name (B1) is not unique.
  3. When the database name is case insensitive, the database names D1 and d1 conflict.
  • Exercise caution when restoring data to an existing or original DB instance.
NOTICE:

Before the restoration, make sure that the size of the restored data does not exceed the purchased disk capacity. Expand disk capacity, if necessary.

restore_all_database

No

Boolean

Specifies whether to restore all databases. The default value is false, indicating that not all databases are to be restored to the target instance.

This field is available only for Microsoft SQL Server.

NOTICE:

If you want to restore all databases to an existing instance, set restore_all_database to true.

Table 5 target field data structure description

Name

Mandatory

Type

Description

instance_id

Yes

String

Specifies the ID of the DB instance where the backup will be restored to.

Example Request

  • Restore data to a DB instance from a backup.
    POST https://{endpoint}/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/recovery
    
    {
    	"source": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "backup",
    		"backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe"
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01"
    	}
    }
  • Restore all databases to a DB instance from an RDS for SQL Server backup.
    {
    	"source": {
    		"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04",
    		"type": "backup",
    		"backup_id": "b021670e69ba4538b7b2ed07257306aebr04",
                    "restore_all_database":true
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }
  • Restore instance data to a specific point in time.
    {
    	"source": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "timestamp",
    		"restore_time": 1532001446987
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01"
    	}
    }
  • Restore some databases of an RDS for SQL Server instance to a specific point in time.
    {
    	"source": {
    		"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04",
    		"type": "timestamp",
    		"restore_time": 1532001446987,
    		"database_name": {
    			"db1": "dbtest1,dbtest2",
    			"db2": "db2,db02",
                            "db3": ""
    		}
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }

Response

  • Normal response
    Table 6 Parameter description

    Name

    Type

    Description

    job_id

    String

    Indicates the job ID.

  • Example normal response
    {
    	"job_id": "ff80808157127d9301571bf8160c001d"
    }
  • Abnormal response

    For details, see Abnormal Request Results.

Status Code

Error Code

For details, see Error Codes.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback