Diagnosticar problemas do SQL Server

Resolver um erro

O processo de job de migração pode apresentar erros durante o tempo de execução.

  • Em alguns erros, o Database Migration Service tenta 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 não podem ser recuperados. Quando o Database Migration Service encontra um erro irreparável, o status do job de migração muda para Falha. Nesses cenários, o job de migração precisa ser reiniciado depois que o problema for 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 abrindo os registros do Cloud Monitoring para a 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 em relação à versão 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 mais antigas e mais recentes se você atender às diretrizes de compatibilidade entre versões. Consulte Bancos 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 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} Os arquivos de registro de transação podem estar usando carimbos de data/hora incorretos em relação à ordem das atualizações que contêm. O Database Migration Service usa números de sequência de registro 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 da época usados nos nomes de arquivo dos arquivos de registro de transações mais recentes. Consulte Ajustar nomes de registros de transações com falhas.

Erro: o banco de dados já existe no destino

Você encontra 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 que usa 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 destas 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 do Cloud SQL de destino é derivado dos nomes das pastas no Cloud Storage onde você armazena os arquivos de backup. Se você tiver dois bancos de dados diferentes que compartilham o nome e precisar de ambos no destino do Cloud SQL, renomeie as pastas e recrie o job de migração para evitar o conflito de nomenclatura.

Siga as etapas abaixo:

  1. Crie novas pastas para o banco de dados de origem afetado pelo conflito de nomenclatura. Consulte Armazenar arquivos de backup em um bucket do Cloud Storage .
  2. Crie novamente 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 é possível remover bancos de dados de um job de migração. Por isso, é necessário recriar todo o job de migração.

Exclua o banco de dados duplicado da sua instância do Cloud SQL para SQL Server.

Se o banco de dados na instância de destino do Cloud SQL for uma cópia, 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 os nomes de arquivos de registro de transações para arquivos WAL fora de ordem

O problema pode ser

Os arquivos de registro de transação podem estar usando carimbos de data/hora incorretos em relação à ordem das atualizações que contêm. O Database Migration Service usa números de sequência de registro 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 ser atrasados ou 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:

  1. Confira a lista de operações de importação de registros de transação na instância de destino do Cloud SQL para SQL Server. No console do Google Cloud , acesse a página Instâncias do Cloud SQL.

    Acesse "Instâncias do Cloud SQL"

  2. Clique em Ver todas as operações > Ver registros de erro do SQL Server.
  3. Confira todas as operações de importação dos arquivos de registro de transações e verifique se os nomes dos arquivos contêm carimbos de data/hora corretos.
  4. 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 o 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.
  5. 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 de registro de transações para o período em que os arquivos WAL estão ausentes.