Resolver um erro
O processo de job de migração pode apresentar erros durante o tempo de execução.
- Para alguns erros, o Database Migration Service repete automaticamente as operações com falha para continuar o processo de migração e evitar interrupções. O status do job de migração muda para Em execução com erros. Esse status representa o fato de que o Database Migration Service continua migrando dados não afetados pelos erros.
- Alguns erros são irrecuperáveis. Quando o Database Migration Service encontra um erro irrecuperável, o status do job de migração muda para Falha. Nesses casos, o job de migração precisa ser reiniciado depois que o problema é corrigido.
Para resolver um problema, acesse o job de migração afetado, confira o erro e siga as etapas descritas na mensagem de erro. Você também pode conferir mais detalhes nos registros do Cloud Monitoring da instância de destino do Cloud SQL. Use o link do Cloud Monitoring na página de detalhes do job de migração.
Na tabela a seguir, confira alguns exemplos de problemas e como eles podem ser resolvidos:
| Para este problema... | O problema pode ser... | Tente o seguinte... |
|---|---|---|
Mensagem de erro: The BAK file's database major version number
{backup_version_num} must not be higher than the current database
major version number {your Cloud SQL for SQL Server version number} |
Você está tentando importar arquivos de backup de uma versão mais recente do SQL Server do que a usada na instância de destino do Cloud SQL para SQL Server.
O Database Migration Service só oferece suporte a migrações entre versões de versões anteriores para posteriores se você atender às diretrizes de compatibilidade entre versões. Consulte Bancos de dados compatíveis de origem e de destino. |
Recrie a instância de destino do Cloud SQL para SQL Server para usar uma versão mais recente do SQL Server e tente novamente o processo de migração com a nova instância. |
Mensagem de erro:
The following database already exists in destination: {database_name}.
|
A instância de destino do Cloud SQL já contém um banco de dados que usa o mesmo nome de um dos bancos de dados incluídos no job de migração. | Remova o conflito de nomenclatura. Consulte Erro: o banco de dados já existe no destino |
Mensagem de erro:
Permission denied for {cloudsql.databases.get} on the Database Migration Service service account. |
A conta de serviço do Database Migration Service não tem permissões. | Adicione as permissões ausentes à conta de serviço do Database Migration Service. Consulte Controle de acesso com o IAM. |
Mensagem de erro:
Missing WAL file at Log Sequence Number (LSN) {log_number_here} |
Seus arquivos de registro de transações podem estar usando carimbos de data/hora de época incorretos em relação à ordem das atualizações que eles contêm. O Database Migration Service usa números de sequência de registros e carimbos de data/hora de época para controlar a ordem em que os arquivos de registro de transações são replicados para a instância de destino do Cloud SQL. | Verifique e ajuste os carimbos de data/hora de época usados nos nomes dos arquivos de registro de transações mais recentes. Consulte Ajustar nomes de registros de transações com falha. |
| Quando você migra os bancos de dados selecionados e o job de migração não consegue replicar dados para um ou mais bancos de dados, o status Falha é exibido na lista de bancos de dados. | Vários erros de jobs de migração. | Na coluna Erros, clique em Ver erros e corrija-os. Depois de corrigir os erros, clique em Reiniciar. |
Erro: o banco de dados já existe no destino
Você vai encontrar a seguinte mensagem de erro:
The following database already exists in destination: {database_name}.
O problema pode ser
A instância de destino do Cloud SQL já contém um banco de dados com o mesmo nome de um dos bancos de dados incluídos no job de migração.
O que você pode tentar
Dependendo do cenário de migração, há diferentes maneiras de resolver o problema de bancos de dados duplicados. Tente uma das seguintes ações:
Renomeie o bucket de origem do Cloud Storage para migrar seu banco de dados com um nome diferente.
O nome do banco de dados que o Database Migration Service cria na instância de destino do Cloud SQL é derivado dos nomes das pastas no Cloud Storage em que você armazena os arquivos de backup. Se você tiver dois bancos de dados diferentes que compartilham o nome e precisar dos dois no destino do Cloud SQL, renomeie as pastas e recrie o job de migração para evitar o conflito de nomes.
Siga as etapas abaixo:
- Crie novas pastas para o banco de dados de origem afetado pelo conflito de nomes. Consulte Armazenar arquivos de backup em um bucket do Cloud Storage .
- Recrie o job de migração. Consulte
Criar um job de migração.
É possível adicionar novos bancos de dados a um job de migração, mas não remover. Por isso, é necessário recriar todo o job de migração.
Exclua o banco de dados duplicado da instância do Cloud SQL para SQL Server.
Se o banco de dados na instância de destino do Cloud SQL for duplicado, você poderá excluí-lo da instância e continuar com o job de migração. Consulte Excluir um banco de dados na documentação do Cloud SQL para SQL Server.
Ajustar nomes de arquivos de registro de transações para arquivos WAL fora de ordem
O problema pode ser
Seus arquivos de registro de transações podem estar usando carimbos de data/hora de época incorretos em relação à ordem das atualizações que eles contêm. O Database Migration Service usa números de sequência de registros e carimbos de data/hora de época para controlar a ordem em que os arquivos de registro de transações são replicados para a instância de destino do Cloud SQL.
O que você pode tentar
Os uploads de arquivos podem atrasar ou ficar fora de ordem. Aguarde alguns minutos para que o problema seja resolvido ou verifique se há arquivos ausentes no bucket do Cloud Storage.
Se o problema não for resolvido, verifique e ajuste os carimbos de data/hora de época nos nomes dos arquivos de registro de transações.
Siga as etapas abaixo:
- Verifique a lista de operações de importação de registros de transações na instância de destino do Cloud SQL para SQL Server. No Google Cloud console, acesse a página Instâncias do Cloud SQL.
- Clique em Ver todas as operações > Ver registros de erro do SQL Server.
- Confira todas as operações de importação de arquivos de registro de transações e verifique se os nomes de arquivo contêm carimbos de data/hora de época corretos.
- Se você notar que os arquivos de registro de transações recentes usam nomes com carimbos de data/hora de época fora de ordem, acesse seu bucket do Cloud Storage e renomeie o arquivo. O Database Migration Service detecta automaticamente a mudança e tenta importar os arquivos de registro de transações relevantes.
- Somente Amazon RDS: é possível que alguns arquivos de registro de transações tenham sido perdidos durante o processo de exportação para o S3. Tente executar novamente a função de exportação do registro de transações para o período em que os arquivos WAL estão faltando.