Partilhar via


Solucionar problemas e erros comuns do Serviço de Migração de Banco de Dados do Azure (clássico)

Este artigo descreve alguns problemas e erros comuns que os usuários do Serviço de Migração de Banco de Dados do Azure (clássico) podem encontrar. O artigo também inclui informações sobre como resolver esses problemas e erros.

Atividade da migração no estado em fila

Erro: Quando você cria novas atividades em um projeto do Serviço de Migração de Banco de Dados do Azure, as atividades permanecem em um estado enfileirado.

Causa: esse problema acontece quando a instância do Serviço de Migração de Banco de Dados do Azure atingiu a capacidade máxima para tarefas contínuas executadas simultaneamente. Qualquer nova atividade é colocada em fila até que a capacidade fique disponível.

Resolução: valide se a instância do Serviço de Migração de Dados tem atividades em execução entre projetos. Pode continuar a criar novas atividades que são adicionadas automaticamente à fila para execução. Quando qualquer uma das atividades em execução existentes for concluída, a atividade em fila seguinte começará a ser executada e o estado mudará para um estado em execução automaticamente. Não é necessário tomar nenhuma outra medida para iniciar a migração da atividade em fila.

Número máximo de bases de dados selecionadas para migração

O erro seguinte ocorre quando criar uma atividade para um projeto de migração de base de dados com o intuito de mover para a Base de Dados SQL do Azure ou para o Azure SQL Managed Instance:

Erro: “Erro de validação das definições de migração”, “errorDetail”: “Foi selecionado mais do que o número máximo de 4 objetos de Bases de Dados para migração”.

Causa: esse erro é exibido quando você seleciona mais de quatro bancos de dados para uma única atividade de migração. Atualmente, cada atividade de migração está limitada a quatro bases de dados.

Resolução: selecione quatro ou menos bancos de dados por atividade de migração. Se precisar de migrar mais de quatro bases de dados em paralelo, aprovisione outra instância do Azure Database Migration Service. Atualmente, cada subscrição suporta um máximo de duas instâncias do Azure Database Migration Service.

Erro ao tentar parar o Azure Database Migration Service

Você recebe o seguinte erro ao parar a instância do Serviço de Migração de Banco de Dados do Azure:

Erro: Não foi possível parar o Serviço. Erro: {'error':{'code':'InvalidRequest','message':'Uma ou mais atividades estão atualmente a ser executadas. Para parar o serviço, aguarde até que as atividades sejam concluídas ou pare essas atividades manualmente e tente novamente.'}}

Causa: esse erro é exibido quando a instância de serviço que você está tentando interromper inclui atividades que ainda estão em execução ou presentes em projetos de migração.

Resolução: verifique se não há atividades em execução na instância do Serviço de Migração de Banco de Dados do Azure que você está tentando parar. Você também pode excluir as atividades ou projetos antes de tentar interromper o serviço.

Os passos seguintes mostram como remover projetos para limpar a instância do serviço de migração ao eliminar todas as tarefas em execução:

  1. Install-Module -Name AzureRM.DataMigration
  2. Login-AzureRmAccount
  3. Select-AzureRmSubscription -SubscriptionName <subName>
  4. Remove-AzureRmDataMigrationProject -Name <projectName> -ResourceGroupName <rgName> -ServiceName <serviceName> -DeleteRunningTask

Erro ao tentar iniciar o Azure Database Migration Service

Você recebe o seguinte erro ao iniciar a instância do Serviço de Migração de Banco de Dados do Azure:

Erro: Falha ao iniciar o Serviço. Erro: {'errorDetail':“Falha ao iniciar o serviço, contacte o suporte da Microsoft”}

Causa: este erro é exibido quando a instância anterior falhou internamente. Este erro ocorre raramente e a equipa de engenharia está ciente do mesmo.

Resolução: exclua a instância do serviço que não pode ser iniciada e provisione uma nova para substituí-la.

Erro ao restaurar a base de dados ao migrar o SQL para o Azure SQL Managed Instance

Quando você executa uma migração online do SQL Server para a Instância Gerenciada SQL do Azure, a substituição falha com o seguinte erro:

Erro: Falha na Operação de Restauro para o ID de operação “operationId”. Código 'AuthorizationFailed', Mensagem 'O cliente 'clientId' com id de objeto 'objectId' não tem autorização para executar a ação 'Microsoft.Sql/locations/managedDatabaseRestoreAzureAsyncOperation/read' sobre o escopo '/subscriptions/subscriptionId'.

Causa: esse erro indica que a entidade de segurança do aplicativo que está sendo usada para a migração online do SQL Server para a Instância Gerenciada do SQL não tem permissão de contribuição na assinatura. Atualmente, determinadas chamadas de API com a Instância Gerenciada SQL exigem essa permissão na assinatura para a operação de restauração.

Resolução: use o Get-AzureADServicePrincipal cmdlet do PowerShell com -ObjectId disponível na mensagem de erro para listar o nome para exibição da ID do aplicativo que está sendo usada.

Valide as permissões para esta aplicação e garanta que tem a função de contribuidor ao nível da subscrição.

A Equipe de Engenharia do Serviço de Migração de Banco de Dados do Azure está trabalhando para restringir o acesso necessário da função de contribuição atual na assinatura. Se você tiver um requisito de negócios que não permita o uso da função de contribuição, entre em contato com o suporte do Azure.

Erro ao eliminar a NIC associada ao Azure Database Migration Service

Quando você tenta excluir uma placa de interface de rede associada ao Serviço de Migração de Banco de Dados do Azure, a tentativa de exclusão falha com este erro:

Erro: não é possível eliminar a NIC associada ao Azure Database Migration Service devido ao serviço DMS que utiliza a NIC

Causa: esse problema acontece quando a instância do Serviço de Migração de Banco de Dados do Azure ainda pode estar presente e consumindo a NIC.

Resolução: para excluir essa NIC, exclua a instância de serviço DMS que exclui automaticamente a NIC usada pelo serviço.

Depois de todos os projetos e atividades associados à instância do Azure Database Migration Service serem eliminados, poderá eliminar a instância do serviço. A NIC utilizada pela instância do serviço é limpa automaticamente como parte da eliminação do serviço.

Importante

Verifique se a instância do Serviço de Migração de Banco de Dados do Azure que está sendo excluída não tem atividades em execução.

Erro de ligação ao utilizar o ExpressRoute

Quando tenta ligar à origem no assistente de projeto do serviço de Migração de Base de Dados do Azure, a ligação falhará após expirar o tempo limite prolongado se a origem estiver a utilizar o ExpressRoute para fins de conectividade.

Causa: Quando você usa a Rota Expressa, o Serviço de Migração de Banco de Dados do Azure requer o provisionamento de três pontos de extremidade de serviço na sub-rede de Rede Virtual associada ao serviço:

  • Ponto de extremidade do Service Bus
  • Ponto final de armazenamento
  • Ponto de extremidade do banco de dados de destino (por exemplo, ponto de extremidade SQL, ponto de extremidade do Azure Cosmos DB)

Resolução: habilite os pontos de extremidade de serviço necessários para a conectividade de Rota Expressa entre a origem e o Serviço de Migração de Banco de Dados do Azure. |

Erro de tempo limite de espera de bloqueio ao migrar uma base de dados MySQL para a Base de Dados do Azure para MySQL

Quando você migra um banco de dados MySQL para uma instância do Banco de Dados do Azure para MySQL por meio do Serviço de Migração de Banco de Dados do Azure, a migração falha com o seguinte erro de tempo limite de espera de bloqueio:

Erro: Erro de migração da base de dados – Falha ao carregar o ficheiro – Falha ao iniciar o processo de carregamento do ficheiro “n” RetCode: SQL_ERROR SqlState: HY000 NativeError: 1205 Mensagem: [MySQL][Controlador ODBC][mysqld] Tempo limite de espera de bloqueio excedido; tente reiniciar a transação

Causa: este erro ocorre quando a migração falha devido ao tempo limite de espera de bloqueio durante a migração.

Resolução: considere aumentar o valor do parâmetro do servidor 'innodb_lock_wait_timeout'. O valor permitido mais elevado é 1073741824.

Erro ao ligar ao SQL Server de origem ao utilizar a porta dinâmica ou a instância nomeada

Quando você tenta conectar o Serviço de Migração de Banco de Dados do Azure à origem do SQL Server que é executada em uma instância nomeada ou em uma porta dinâmica, a conexão falha com este erro:

Erro: -1 – Falha de ligação do SQL. Ocorreu um erro relacionado com a rede ou específico da instância ao estabelecer uma ligação ao SQL Server. O servidor não foi encontrado ou não está acessível. Verifique se o nome da instância está correto e se o SQL Server está configurado para permitir ligações remotas. (fornecedor: Interfaces do SQL Server, erro: 26 – Servidor/Instância de Localização de Erros Especificado)

Causa: esse problema acontece quando a instância do SQL Server de origem à qual o Serviço de Migração de Banco de Dados do Azure tenta se conectar tem uma porta dinâmica ou está usando uma instância nomeada. O serviço SQL Server Browser escuta na porta UDP 1434 para ligações recebidas para uma instância nomeada ou ao utilizar uma porta dinâmica. A porta dinâmica pode mudar sempre que o serviço do SQL Server for reiniciado. Você pode verificar a porta dinâmica atribuída a uma instância por meio da configuração de rede no SQL Server Configuration Manager.

Resolução: verifique se o Serviço de Migração de Banco de Dados do Azure pode se conectar ao serviço Navegador do SQL Server de origem na porta UDP 1434 e à instância do SQL Server por meio da porta TCP atribuída dinamicamente, conforme aplicável.

Problemas conhecidos adicionais