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
- 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:
- O nome do novo banco de dados (A) é o mesmo que o nome de banco de dados original (A).
- O novo nome de banco de dados (B1) não é exclusivo.
- 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.
- 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
- Normal
- Anormal
Para mais detalhes, consulte Códigos de status.
Código de erro
Para mais detalhes, consulte Códigos de erro.