Resolva um problema
O processo da tarefa de migração pode incorrer em erros durante o tempo de execução.
- Para alguns erros, o Database Migration Service tenta novamente as operações com falhas automaticamente para continuar o processo de migração e evitar interrupções. O estado da tarefa de migração é alterado para Em execução com erros. Este estado representa o facto de o Database Migration Service continuar a migrar dados não afetados pelos erros.
- Alguns erros são irrecuperáveis. Quando o Database Migration Service encontra um erro irrecuperável, o estado da tarefa de migração muda para Falhou. Nestes cenários, a tarefa de migração tem de ser reiniciada após a correção do problema.
Para resolver um erro, navegue para a tarefa de migração afetada, veja o erro e siga os passos descritos na mensagem de erro. Também pode obter mais detalhes ao ver os registos do Cloud Monitoring para a sua instância de destino do Cloud SQL. Use o link do Cloud Monitoring na página de detalhes da tarefa de migração.
Na tabela seguinte, pode encontrar alguns exemplos de problemas e como podem ser resolvidos:
Para este problema… | O problema pode ser... | Experimente isto… |
---|---|---|
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} . |
Está a tentar importar ficheiros de cópia de segurança de uma versão do SQL Server posterior à versão que usa na instância de destino do Cloud SQL para SQL Server.
O Serviço de migração de bases de dados só suporta migrações entre versões de versões anteriores para versões posteriores se cumprir as diretrizes de compatibilidade entre versões. Consulte o artigo Bases de dados de origem e de destino compatíveis. |
Recrie a instância de destino do Cloud SQL para SQL Server para usar uma versão posterior 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 uma base de dados que usa o mesmo nome que uma das bases de dados incluídas na sua tarefa de migração. | Remova o conflito de nomes. Veja Erro: a base 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 serviço de migração de base de dados não tem autorizações. | Adicione as autorizações em falta à conta de serviço do serviço de migração de base de dados. Consulte o artigo Controlo de acesso com a IAM. |
Mensagem de erro:
Missing WAL file at Log Sequence Number (LSN) {log_number_here} |
Os seus ficheiros de registo de transações podem estar a usar datas/horas de época incorretas no que diz respeito à ordem das atualizações que contêm. O serviço de migração de base de dados usa números de sequência de registos e indicações de tempo de época para controlar a ordem em que os ficheiros de registo de transações são replicados para a instância de destino do Cloud SQL. | Verifique e ajuste as datas/horas de época usadas nos nomes dos ficheiros dos seus ficheiros de registo de transações mais recentes. Consulte o artigo Ajuste os nomes dos registos de transações com falhas. |
Quando migra bases de dados selecionadas e a tarefa de migração não consegue replicar dados para uma ou mais bases de dados, é apresentado o estado Falhou na lista de bases de dados. | Vários erros de tarefas de migração. | Na coluna Erros, clique em Ver erros e corrija-os. Depois de corrigir os erros, clique em Reiniciar. |
Erro: a base de dados já existe no destino
É apresentada 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 uma base de dados que usa o mesmo nome que uma das bases de dados incluídas na sua tarefa de migração.
Coisas a experimentar
Consoante o seu cenário de migração, existem diferentes formas de resolver o problema de bases de dados duplicadas. Experimente uma das seguintes ações:
Mude o nome do contentor do Cloud Storage de origem para migrar a base de dados com um nome diferente.
O nome da base de dados que o serviço de migração de base de dados cria na instância do Cloud SQL de destino é derivado dos nomes das pastas no Cloud Storage onde armazena os ficheiros de cópia de segurança. Se tiver duas bases de dados diferentes que partilham o nome e precisar de ambas no destino do Cloud SQL, pode mudar o nome das pastas e recriar a tarefa de migração para evitar o conflito de nomes.
Siga estes passos:
- Crie novas pastas para a base de dados de origem afetada pelo conflito de nomenclatura. Consulte o artigo Armazene ficheiros de cópias de segurança num contentor do Cloud Storage .
- Recrie a tarefa de migração. Consulte o artigo
Crie uma tarefa de migração.
Pode adicionar novas bases de dados a uma tarefa de migração existente, mas não pode remover bases de dados de uma tarefa de migração. É por isso que tem de recriar a tarefa de migração completa.
Elimine a base de dados duplicada da instância do Cloud SQL para SQL Server.
Se a base de dados na instância de destino do Cloud SQL for um duplicado, pode eliminá-la da instância e continuar com a tarefa de migração. Consulte o artigo Eliminar uma base de dados na documentação do Cloud SQL para SQL Server.
Ajuste os nomes dos ficheiros de registo de transações para ficheiros WAL fora de ordem
O problema pode ser
Os seus ficheiros de registo de transações podem estar a usar datas/horas de época incorretas no que diz respeito à ordem das atualizações que contêm. O serviço de migração de base de dados usa números de sequência de registos e indicações de tempo de época para controlar a ordem em que os ficheiros de registo de transações são replicados para a instância de destino do Cloud SQL.
Coisas a experimentar
Os carregamentos de ficheiros podem sofrer atrasos ou estar desordenados. Aguarde vários minutos para permitir que o problema seja resolvido ou verifique se existem ficheiros em falta no seu contentor do Cloud Storage.
Se o problema não ficar resolvido, valide e ajuste as datas/horas de época nos nomes dos ficheiros de registo de transações.
Siga estes passos:
- Verifique a lista das operações de importação de registos de transações na instância do Cloud SQL para SQL Server de destino. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Clique em Ver todas as operações > Ver registos de erros do SQL Server.
- Veja todas as operações de importação de ficheiros de registo de transações e verifique se os respetivos nomes de ficheiros contêm as datas/horas corretas no formato Epoch.
- Se reparar que os ficheiros de registo de transações recentes usam nomes com datas/horas de época desordenadas, aceda ao seu contentor do Cloud Storage e mude o nome do ficheiro. O serviço de migração de base de dados deteta automaticamente a alteração e tenta importar os ficheiros de registo de transações relevantes.
- Apenas Amazon RDS: é possível que alguns ficheiros de registo de transações tenham sido ignorados durante o processo de exportação para o S3. Tente executar novamente a função de exportação do registo de transações para o período em torno dos ficheiros WAL em falta.