Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Relational Database Service/ Referencia de la API/ API v3.1 (Recomendado)/ Restauración de datos en una instancia de base de datos existente
Actualización más reciente 2024-06-06 GMT+08:00

Restauración de datos en una instancia de base de datos existente

Función

Esta API se utiliza para restaurar una base de datos a una instancia de base de datos existente.

Restricciones

  • RDS for SQL Server admite invocaciones por lotes de esta API para restaurar una base de datos a una instancia de base de datos existente.
  • Esta API no admite la restauración de instancias de RDS for PostgreSQL.
  • Cuando se restauran datos en una instancia de base de datos existente, la API tiene las siguientes restricciones:
    • El motor de base de datos de la instancia de base de datos original debe ser el mismo que el de la instancia de base de datos de destino. Por ejemplo, si la instancia de base de datos original está ejecutando MySQL, la instancia de base de datos de destino también debe ejecutar MySQL.
    • La versión del motor de base de datos de la instancia de destino debe ser al menos igual a la de la instancia original. Por ejemplo, una instancia de RDS for MySQL 5.7.25 puede restaurarse en una instancia de RDS for MySQL 5.7.27. Para ver las restricciones de versión de RDS for SQL Server, consulte Tabla 1.
    • El espacio de almacenamiento total de la instancia de base de datos de destino debe ser al menos igual al de la instancia de base de datos original para RDS for MySQL.
    • No se admite la restauración entre regiones.
    • Para las instancias de base de datos de RDS for MySQL, cuando se restauran datos en una instancia de base de datos existente, el valor de sensibilidad a mayúsculas y minúsculas de la instancia de base de datos existente debe ser el mismo que el de la instancia de base de datos original. De lo contrario, la restauración puede fallar.
  • Cuando los datos se restauran en una instancia de base de datos original:

    Esta API solo es compatible con el motor de base de datos de Microsoft SQL Server.

    Tabla 1 Restaurar las versiones del motor de base de datos compatibles con RDS for SQL Server

    Versión original del motor de base de datos

    Restaurar a

    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

  • Formato de URI

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

  • Descripción de parámetro
    Tabla 2 Descripción de parámetro

    Nombre

    Obligatorio

    Descripción

    project_id

    Especifica el ID de proyecto de un tenant en una región.

    Para obtener más información sobre cómo obtener el ID del proyecto, consulte Obtención de un ID de proyecto.

Solicitud

  • Descripción de parámetro
    Tabla 3 Descripción de parámetro

    Nombre

    Obligatorio

    Tipo

    Descripción

    source

    Object

    Especifica la información de restauración.

    Para obtener más información, consulte Tabla 4.

    target

    Object

    Especifica el destino de restauración.

    Para obtener más información, consulte Tabla 5.

    Tabla 4 descripción de la estructura de datos del campo de origen

    Nombre

    Obligatorio

    Tipo

    Descripción

    instance_id

    String

    Especifica el ID de instancia de base de datos.

    type

    No

    String

    Especifica el modo de restauración. Los valores enumerados incluyen:

    • backup: indica el uso de archivos de copia de respaldo para la restauración. En este modo, type no son obligatorias y backup_id son obligatorias.
    • timestamp: indica el modo de restauración puntual. En este modo, type y restore_time son obligatorios.

    backup_id

    No

    String

    Especifica el ID de la copia de respaldo utilizada para restaurar los datos. Este parámetro debe especificarse cuando se utiliza el archivo de copia de respaldo para la restauración.

    restore_time

    No

    Integer

    Especifica el punto de tiempo de restauración de datos en la marca de tiempo de UNIX. La unidad es de milisegundos y la zona horaria es UTC.

    database_name

    No

    Map<String, String>

    Este parámetro sólo se aplica al motor de base de datos de Microsoft SQL Server.

    • Si se especifica este parámetro, puede restaurar todas las bases de datos o determinadas y cambiar el nombre de nuevas bases de datos.
    • Si no se especifica este parámetro, todas las bases de datos se restauran de forma predeterminada.
    • Puede introducir varios nuevos nombres de base de datos y separarlos con comas (,). Los nuevos nombres de base de datos pueden contener pero no pueden ser los mismos que los nombres de base de datos originales.
    • Tenga en cuenta lo siguiente cuando especifique nuevos nombres de base de datos:
      • Los nuevos nombres de base de datos deben ser diferentes de los nombres de base de datos originales. Si se dejan en blanco, los nombres de base de datos originales se usarán para la restauración de forma predeterminada.
      • Los ajustes de sensibilidad a mayúsculas y minúsculas de las nuevas bases de datos son los mismos que los de las bases de datos originales. Asegúrese de que los nuevos nombres de base de datos sean únicos.
      • El número total de bases de datos nuevas y existentes en las instancias de base de datos existentes u originales en las que se restauran los datos no puede exceder la cuota de base de datos especificada por rds_databases_quota.
      • Los nuevos nombres de bases de datos no pueden contener los siguientes campos (sin distinción entre mayúsculas y minúsculas): rdsadmin, master, msdb, tempdb, model y resource.
      • Los nuevos nombres de bases de datos deben constar de 1 a 64 caracteres, incluidos solo letras, dígitos, guiones bajos (_), y guiones (-). Si desea restaurar datos en varias bases de datos nuevas, sepárelas con comas (,).
      • Los nuevos nombres de base de datos deben ser diferentes de los nombres de base de datos de la instancia de base de datos original.
      • Los nuevos nombres de base de datos deben ser diferentes de los nombres de base de datos de las instancias de base de datos existentes u originales en las que se restauran los datos.
    Ejemplo:
    "database_name":{"Original database name":"New database name"}

    Ejemplo correcto: "database_name":{"A":"A,A1,A2","B":"B1,B2","C":""}

    Ejemplo incorrecto: "database_name":{"A":"A","B":"B1,B2","C":"B1,C1","D":"D1,d1"},

    Las causas de error son las siguientes:

    1. El nuevo nombre de base de datos (A) es el mismo que el nombre de base de datos original (A).
    2. El nuevo nombre de base de datos (B1) no es único.
    3. Cuando el nombre de la base de datos no distingue entre mayúsculas y minúsculas, los nombres de base de datos D1 y d1 entran en conflicto.
    • Tenga cuidado al restaurar datos a una instancia de base de datos existente u original.
    AVISO:

    Antes de la restauración, asegúrese de que el tamaño de los datos restaurados no exceda la capacidad de disco adquirida. Amplíe la capacidad del disco, si es necesario.

    restore_all_database

    No

    Boolean

    Especifica si se deben restaurar todas las bases de datos. El valor predeterminado es false, que indica que no todas las bases de datos deben restaurarse en la instancia de destino.

    Este campo solo está disponible para Microsoft SQL Server.

    AVISO:

    Si desea restaurar todas las bases de datos en una instancia existente, establezca restore_all_database en true.

    Tabla 5 descripción de la estructura de datos del campo de destino

    Nombre

    Obligatorio

    Tipo

    Descripción

    instance_id

    String

    Especifica el ID de la instancia de base de datos en la que se restaurará la copia de respaldo.

Solicitud de ejemplo

  • Restaurar datos en una instancia de base de datos desde una copia de respaldo
    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"
    	}
    }
  • Restaurar todas las bases de datos en una instancia de base de datos desde una copia de respaldo de RDS for SQL Server
    {
    	"source": {
    		"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04",
    		"type": "backup",
    		"backup_id": "b021670e69ba4538b7b2ed07257306aebr04",
                    "restore_all_database":true
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }
  • Restaurar datos de instancia a un punto específico en el tiempo
    {
    	"source": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "timestamp",
    		"restore_time": 1532001446987
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01"
    	}
    }
  • Restaurar algunas bases de datos de una instancia de RDS for SQL Server a un punto específico en el tiempo
    {
    	"source": {
    		"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04",
    		"type": "timestamp",
    		"restore_time": 1532001446987,
    		"database_name": {
    			"db1": "dbtest1,dbtest2",
    			"db2": "db2,db02",
                            "db3": ""
    		}
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }

Respuesta

  • Respuesta normal
    Tabla 6 Descripción de parámetro

    Nombre

    Tipo

    Descripción

    job_id

    String

    Indica el ID del trabajo.

  • Ejemplo de respuesta normal
    {
    	"job_id": "ff80808157127d9301571bf8160c001d"
    }
  • Respuesta anormal

    Para obtener más información, consulte Resultados de solicitud anormales.

Código de estado

Código de error

Para obtener más información, consulte Códigos de error.