Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Relational Database Service/ Referência de API/ API v3 (indisponível em breve)/ Restauração de dados para uma instância de banco de dados existente
Atualizado em 2023-05-05 GMT+08:00

Restauração de dados para uma instância de banco de dados existente

Função

Esta API é usada para restaurar um banco de dados para uma instância de banco de dados existente.

  • Antes de chamar uma API, você precisa entender a API em Autenticação.

Restrições

  • O Microsoft SQL Server oferece suporte à chamada em lote desta API para restaurar um banco de dados em uma instância de banco de dados existente.
  • Esta API não suporta a restauração de instâncias do RDS for PostgreSQL.
  • Quando os dados são restaurados em uma instância de banco de dados existente, a API tem as seguintes restrições:
    • O mecanismo de banco de dados da instância de banco de dados original deve ser o mesmo da instância de banco de dados de destino. Por exemplo, se a instância de banco de dados original estiver executando o MySQL, a instância de banco de dados de destino também deve executar o MySQL.
    • A versão da instância de banco de dados de destino deve ser posterior ou igual à da instância de origem. Por exemplo, a instância de banco de dados do MySQL 5.7.25 pode ser restaurada para a instância de banco de dados do MySQL 5.7.27. Para restrições do Microsoft SQL Server, consulte Tabela 1.
    • Para o RDS for MySQL, o espaço total de armazenamento da instância de banco de dados de destino deve ser maior ou igual ao da instância de banco de dados original.
    • Restauração entre regiões não é suportada.
    • Para instâncias de banco de dados do RDS for MySQL, quando os dados são restaurados em uma instância de banco de dados existente, a configuração de sensibilidade de maiúsculas e minúsculas da instância de banco de dados existente deve ser a mesma da instância de banco de dados original. Caso contrário, a restauração pode falhar.
  • Quando os dados são restaurados para uma instância de banco de dados original:

    Esta API é suportada apenas para o mecanismo de banco de dados do Microsoft SQL Server.

    Tabela 1 Restauração para as versões do mecanismo de banco de dados com suporte do RDS for SQL Server

    Versão original do mecanismo de banco de dados

    Restaurável para

    2008 Standard Edition

    2008 Standard Edition

    2012 Web Edition

    2012 Web Edition

    2012 Standard Edition

    2012 Enterprise Edition

    2012 Standard Edition

    2012 Standard Edition

    2012 Enterprise Edition

    2012 Enterprise Edition

    2012 Enterprise Edition

    2014 Standard Edition

    2014 Standard Edition

    2014 Enterprise Edition

    2014 Enterprise Edition

    2014 Enterprise Edition

    2016 Standard Edition

    2016 Standard Edition

    2016 Enterprise Edition

    2016 Enterprise Edition

    2016 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/{project_id}/instances/recovery

  • Exemplo

    https://rds.ap-southeast-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/recovery

  • Descrição do parâmetro
    Tabela 2 Descrição do parâmetro

    Nome

    Obrigatório

    Descrição

    project_id

    Sim

    Especifica o ID do projeto de um locatário em uma região.

    Para obter detalhes sobre como obter o ID do projeto, consulte Obtenção de um ID de projeto.

Solicitação

  • Descrição do parâmetro
    Tabela 3 Descrição do parâmetro

    Nome

    Obrigatório

    Tipo

    Descrição

    source

    Sim

    Object

    Especifica as informações de restauração.

    Para mais detalhes, consulte Tabela 4.

    target

    Sim

    Object

    Especifica o destino da restauração.

    Para mais detalhes, consulte Tabela 5.

    Tabela 4 Descrição da estrutura de dados do campo source

    Nome

    Obrigatório

    Tipo

    Descrição

    instance_id

    Sim

    String

    Especifica o ID da instância de banco de dados.

    type

    Não

    String

    Especifica o modo de restauração. Os valores enumerados incluem:

    • backup: indica o uso de arquivos de backup para restauração. Neste modo, type não é obrigatório e backup_id é obrigatório.
    • timestamp: indica o modo de restauração de ponto no tempo. Neste modo, type e restore_time são obrigatórios.

    backup_id

    Não

    String

    Especifica o ID do backup usado para restaurar dados. Este parâmetro deve ser especificado quando o arquivo de backup é usado para restauração.

    restore_time

    Não

    Integer

    Especifica o ponto de tempo da restauração de dados no carimbo de data/hora UNIX. A unidade é milissegundo e o fuso horário é UTC.

    database_name

    Não

    Map<String, String>

    Este parâmetro se aplica somente ao mecanismo de banco de dados do Microsoft SQL Server.

    • Se este parâmetro for especificado, você poderá restaurar todos os bancos de dados ou bancos de dados específicos e renomear novos bancos de dados.
    • Se este parâmetro não for especificado, todos os bancos de dados serão restaurados por padrão.
    • Você pode inserir vários novos nomes de banco de dados e separá-los com vírgulas (,). Os novos nomes de banco de dados podem conter, mas não podem ser iguais aos nomes de banco de dados originais.
    • Observe o seguinte quando você estiver especificando novos nomes de banco de dados:
      • Novos nomes de banco de dados devem ser diferentes dos nomes de banco de dados originais. Se eles forem deixados em branco, os nomes originais de banco de dados serão usados para restauração por padrão.
      • As configurações de sensibilidade a maiúsculas e minúsculas dos novos bancos de dados são as mesmas dos bancos de dados originais. Certifique-se de que os novos nomes de banco de dados sejam exclusivos.
      • O número total de bancos de dados novos e existentes nas instâncias de banco de dados existentes ou originais em que os dados são restaurados não pode exceder a cota de banco de dados especificada por rds_databases_quota.
      • Novos nomes de banco de dados não podem conter os seguintes campos (não diferencia maiúsculas de minúsculas): rdsadmin, master, msdb, tempdb, model e resource.
      • Novos nomes de banco de dados devem ter de 1 a 64 caracteres, incluindo apenas letras, dígitos, sublinhados (_) e hifens (-). Se você quiser restaurar dados para vários novos bancos de dados, separe-os com vírgulas (,).
      • Novos nomes de banco de dados devem ser diferentes de quaisquer nomes de banco de dados na instância de banco de dados original.
      • Novos nomes de banco de dados devem ser diferentes de quaisquer nomes de banco de dados nas instâncias de banco de dados existentes ou originais em que os dados são restaurados.
    Exemplo:
    "database_name":{"Original database name":"New database name"}

    Exemplo correto: "database_name":{"A":"A,A1,A2","B":"B1,B2","C":""}

    Exemplo incorreto: "database_name":{"A":"A","B":"B1,B2","C":"B1,C1","D":"D1,d1"},

    As causas de erro são as seguintes:

    1. O nome do novo banco de dados (A) é o mesmo que o nome de banco de dados original (A).
    2. O novo nome de banco de dados (B1) não é exclusivo.
    3. Quando o nome de banco de dados não diferencia maiúsculas de minúsculas, os nomes de banco de dados D1 e d1 entram em conflito.
    • Tenha cuidado ao restaurar dados para uma instância de banco de dados existente ou original.
    AVISO:

    Antes da restauração, certifique-se de que o tamanho dos dados restaurados não exceda a capacidade de disco adquirida. Expanda a capacidade do disco, se necessário.

    Tabela 5 Descrição da estrutura de dados do campo target

    Nome

    Obrigatório

    Tipo

    Descrição

    instance_id

    Sim

    String

    Especifica o ID da instância de banco de dados em que o backup será restaurado.

  • Exemplo de solicitação

    Usar arquivos de backup para restauração:

    MySQL:

    {
    	"source": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "backup",
    		"backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe"
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01"
    	}
    }

    Microsoft SQL Server:

    {
    	"source": {
    		"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04",
    		"type": "backup",
    		"backup_id": "b021670e69ba4538b7b2ed07257306aebr04",
    		"database_name": {
    			"db1": "dbtest1",
    			"db2": ""
    		}
    
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }

    Usar o PITR para restauração:

    MySQL:

    {
    	"source": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01",
    		"type": "timestamp",
    		"restore_time": 1532001446987
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01"
    	}
    }

    Microsoft SQL Server:

    {
    	"source": {
    		"instance_id": "61879e6085bc44d1831b0ce62d988fd9in04",
    		"type": "timestamp",
    		"restore_time": 1532001446987,
    		"database_name": {
    			"db1": "dbtest1,dbtest2",
    			"db2": "db2,db02",
                            "db3": ""
    		}
    	},
    	"target": {
    		"instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04"
    	}
    }

Resposta

  • Resposta normal
    Tabela 6 Descrição do parâmetro

    Nome

    Tipo

    Descrição

    job_id

    String

    Indica o ID da tarefa.

  • Exemplo de resposta normal
    {
    	"job_id": "ff80808157127d9301571bf8160c001d"
    }
  • Resposta anormal

    Para mais detalhes, consulte Resultados anormais da solicitação.

Código de status

Código de erro

Para mais detalhes, consulte Códigos de erro.