Diagnostique problemas do SQL Server

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:

  1. 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 .
  2. 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:

  1. 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.

    Aceda a Instâncias do Cloud SQL

  2. Clique em Ver todas as operações > Ver registos de erros do SQL Server.
  3. 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.
  4. 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.
  5. 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.