Partilhar via


Problemas conhecidos, limitações e solução de problemas

Este artigo fornece uma lista de problemas conhecidos e etapas de solução de problemas associados à extensão de migração SQL do Azure para o Azure Data Studio.

Importante

A versão mais recente do Integration Runtime (5.28.8488) impede o acesso a um compartilhamento de arquivos de rede em um host local. Essa medida de segurança levará a falhas ao executar migrações para o SQL do Azure usando o DMS. Certifique-se de executar o Integration Runtime em uma máquina diferente da hospedagem de compartilhamento de rede.

Código de erro: 2007 - CutoverFailedOrCancelled

  • Mensagem: Cutover failed or cancelled for database <DatabaseName>. Error details: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' is not <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Causa: o erro pode ocorrer devido aos backups serem colocados incorretamente no contêiner de Armazenamento do Azure. Se os backups forem colocados no compartilhamento de arquivos de rede, esse erro também pode ocorrer devido a problemas de conectividade de rede.

  • Recomendação: Verifique se os backups de banco de dados em seu contêiner de Armazenamento do Azure estão corretos. Se você estiver usando o compartilhamento de arquivos de rede, pode haver problemas relacionados à rede e atrasos que estão causando esse erro. Aguarde a conclusão do processo.

  • Mensagem: Cutover failed or cancelled for database '{databaseName}'. Error details: 'errorCode: Ext_RestoreSettingsError, message: RestoreId: {RestoreId}, OperationId: {operationId}, Detail: Failed to complete restore., RestoreJobState: Restoring, CompleteRestoreErrorMessage: The database contains incompatible physical layout. Too many full text catalog files.

  • Causa: a restauração de VM SQL atualmente não oferece suporte à restauração de bancos de dados com arquivos de catálogo de texto completo, pois o Azure SQL Vm não oferece suporte a eles no momento.

  • Recomendação: Remova os arquivos de catálogo de texto completo do banco de dados ao criar a restauração

  • Mensagem: Cutover failed or cancelled for database '{databaseName}'. Error details: 'Migration cannot be completed because provided backup file name '{providedFileName}' should be the last restore backup file '{lastRestoredFileName}'.'

  • Causa: Este erro ocorre devido a uma limitação conhecida no SqlMi. Isso significa que o '{providedFileName}' é diferente de '{lastRestoredFileName}'. O SqlMi restaurará automaticamente todos os arquivos de backup válidos no contêiner com base na sequência LSN. Um caso de falha típico pode ser: o '{providedFileName}' é "log1", mas os arquivos no contêiner têm outros arquivos, como "log2", que têm maior número LSN do que "log1". Nesse caso, o SqlMi restaurará automaticamente todos os arquivos no contêiner. No final da conclusão da migração, o SqlMi relatará essa mensagem de erro.

  • Recomendação: Para o modo de migração offline, forneça o "lastBackupName" com o maior LSN. Para o cenário de migração online, esse aviso/erro pode ser ignorado se o status da migração for bem-sucedido.

Código de erro: 2009 - MigrationRestoreFailed

  • Mensagem: Migration for Database 'DatabaseName' failed with error cannot find server certificate with thumbprint.

  • Causa: antes de migrar dados, você precisa migrar o certificado da instância do SQL Server de origem de um banco de dados protegido pela TDE (Criptografia de Dados Transparente) para a Instância Gerenciada SQL do Azure ou o SQL Server na Máquina Virtual do Azure de destino.

  • Recomendação: Migre o certificado TDE para a instância de destino e tente novamente o processo. Para obter mais informações sobre como migrar bancos de dados habilitados para TDE, consulte Tutorial: Migrar bancos de dados habilitados para TDE (visualização) para o SQL do Azure no Azure Data Studio.

  • Mensagem: Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3169 The database was backed up on a server running version %ls. That version is incompatible with this server, which is running version %ls. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.

  • Causa: Não é possível restaurar um backup do SQL Server para uma versão anterior do SQL Server que a versão na qual o backup foi criado.

  • Recomendação: Consulte Problemas que afetam a restauração do banco de dados entre diferentes versões do SQL Server para obter as etapas de solução de problemas.

  • Mensagem: Migration for Database <DatabaseName> failed with error 'The managed instance has reached its storage limit. The storage usage for the managed instance can't exceed 32768 MBs.

  • Causa: A Instância Gerenciada SQL do Azure atingiu seus limites de recursos.

  • Recomendação: Para obter mais informações sobre limites de armazenamento, consulte Visão geral dos limites de recursos da Instância Gerenciada SQL do Azure.

  • Mensagem: Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3634 The operating system returned the error '1450(Insufficient system resources exist to complete the requested service.)

  • Causa: Um dos sintomas listados nos erros do sistema operacional 1450 e 665 são relatados para arquivos de banco de dados durante DBCC CHECKDB ou Criação de instantâneo de banco de dados pode ser a causa.

  • Recomendação: Consulte OS erros 1450 e 665 são relatados para arquivos de banco de dados durante DBCC CHECKDB ou Database Snapshot Creation para etapas de solução de problemas.

  • Mensagem: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' isn't <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Causa: o erro pode ocorrer devido aos backups serem colocados incorretamente no contêiner de Armazenamento do Azure. Se os backups forem colocados no compartilhamento de arquivos de rede, esse erro também pode ocorrer devido a problemas de conectividade de rede.

  • Recomendação: Verifique se os backups de banco de dados em seu contêiner de Armazenamento do Azure estão corretos. Se você estiver usando o compartilhamento de arquivos de rede, pode haver problemas relacionados à rede e atrasos que estão causando esse erro. Aguarde a conclusão do processo.

  • Mensagem: Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3234 Logical file <Name> isn't part of database <Database GUID>. Use RESTORE FILELISTONLY to list the logical file names. RESTORE DATABASE is terminating abnormally.'.

  • Causa: você especificou um nome de arquivo lógico que não está no backup do banco de dados. Outra causa potencial desse erro é um nome de contêiner de conta de armazenamento incorreto.

  • Recomendação: Execute RESTORE FILELISTONLY para verificar os nomes de arquivos lógicos em seu backup. Para obter mais informações sobre RESTORE FILELISTONLY, consulte Instruções RESTORE - FILELISTONLY (Transact-SQL).

  • Mensagem: Migration for Database <Database Name> failed with error 'Azure SQL target resource failed to connect to storage account. Make sure the target SQL VNet is allowed under the Azure Storage firewall rules.'

  • Causa: o firewall do Armazenamento do Azure não está configurado para permitir o acesso ao destino SQL do Azure.

  • Recomendação: Para obter mais informações sobre a configuração do firewall do Armazenamento do Azure, consulte Configurar firewalls do Armazenamento do Azure e redes virtuais.

  • Mensagem: Migration for Database <Database Name> failed with error 'There are backups from multiple databases in the container folder. Please make sure the container folder has backups from a single database.

  • Causa: os backups de vários bancos de dados estão na mesma pasta de contêiner.

  • Recomendação: Ao migrar vários bancos de dados para a Instância Gerenciada SQL do Azure usando o mesmo contêiner de Armazenamento de Blob do Azure, você deverá colocar arquivos de backup para bancos de dados diferentes em pastas separadas dentro do contêiner. Para obter mais informações sobre o LRS, consulte Migrar bancos de dados do SQL Server para a instância gerenciada do SQL usando o Log Replay Service (Preview).

  • Mensagem: Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 12824 The sp_configure value 'contained database authentication' must be set to 1 in order to restore a contained database. You may need to use RECONFIGURE to set the value_in_use. RESTORE DATABASE is terminating abnormally.

  • Causa: O banco de dados de origem é um banco de dados contido. Uma configuração específica é necessária para permitir a restauração de um banco de dados contido. Para obter mais informações sobre bancos de dados contidos, consulte Usuários de banco de dados contidos.

  • Recomendação: execute a seguinte consulta conectada ao SQL Server de origem no contexto do banco de dados específico antes de iniciar a migração. Em seguida, tente a migração do banco de dados contido novamente.

    -- Enable "contained database authentication"
    EXECUTE sp_configure 'contained', 1;
    
    RECONFIGURE;
    

    Nota

    Para obter mais informações sobre as etapas gerais de solução de problemas para erros da Instância Gerenciada SQL do Azure, consulte Problemas conhecidos com a Instância Gerenciada SQL do Azure

Código de erro: 2012 - TestConnectionFailed

  • Mensagem: Failed to test connections using provided Integration Runtime. Error details: 'Remote name could not be resolved.'

  • Causa: Suas configurações de rede no firewall estão fazendo com que o Self-Hosted Integration Runtime não consiga se conectar ao back-end do serviço.

  • Recomendação: Há um problema de DNS (Sistema de Nomes de Domínio). Contacte a equipa de rede para corrigir o problema. Para obter mais informações, consulte Solucionar problemas de tempo de execução de integração auto-hospedada.

  • Mensagem: Failed to test connections using provided Integration Runtime. 'Cannot connect to <File share>. Detail Message: The system could not find the environment option that was entered

  • Causa: O Self-Hosted Integration Runtime não pode se conectar ao compartilhamento de arquivos de rede onde os backups de banco de dados são colocados.

  • Recomendação: Verifique se o nome do compartilhamento de arquivos de rede foi inserido corretamente.

  • Mensagem: Failed to test connections using provided Integration Runtime. The file name does not conform to the naming rules by the data store. Illegal characters in path.

  • Causa: O Self-Hosted Integration Runtime não pode se conectar ao compartilhamento de arquivos de rede onde os backups de banco de dados são colocados.

  • Recomendação: Verifique se o nome do compartilhamento de arquivos de rede foi inserido corretamente.

  • Mensagem: Failed to test connections using provided Integration Runtime.

  • Causa: Falha na conexão com o Self-Hosted Integration Runtime.

  • Recomendação: Consulte Solucionar problemas do Self-Hosted Integration Runtime para obter etapas gerais de solução de problemas para erros de conectividade do Integration Runtime.

Código de erro: 2014 - IntegrationRuntimeIsNotOnline

  • Mensagem: Integration Runtime <IR Name> in resource group <Resource Group Name> Subscription <SubscriptionID> isn't online.

  • Causa: O Self-Hosted Integration Runtime não está online.

  • Recomendação: Certifique-se de que o Self-hosted Integration Runtime está registrado e online. Para executar o registro, você pode usar scripts de Automatizando a instalação do tempo de execução de integração auto-hospedada usando scripts do PowerShell local. Além disso, consulte Solucionar problemas de tempo de execução de integração auto-hospedada para obter etapas gerais de solução de problemas para erros de conectividade do Integration Runtime.

Código de erro: 2030 - AzureSQLManagedInstanceNotReady

  • Mensagem: Azure SQL Managed Instance <Instance Name> isn't ready.

  • Causa: a Instância Gerenciada SQL do Azure não está no estado pronto.

  • Recomendação: Aguarde até que a Instância Gerenciada SQL do Azure tenha concluído a implantação e esteja pronta e, em seguida, tente novamente o processo.

Código de erro: 2033 - SqlDataCopyFailed

  • Mensagem: Migration for Database <Database> failed in state <state>.

  • Causa: falha no pipeline do ADF para movimentação de dados.

  • Recomendação: Verifique a página MigrationStatusDetails para obter informações de erro mais detalhadas.

Código de erro: 2038 - MigrationCompletedDuringCancel

  • Mensagem: Migration cannot be canceled as Migration was completed during the cancel process. Target server: <Target server> Target database: <Target database>.

  • Causa: uma solicitação de cancelamento foi recebida, mas a migração foi concluída com êxito antes que o cancelamento fosse concluído.

  • Recomendação: Nenhuma ação necessária. A migração foi bem-sucedida.

Código de erro: 2039 - MigrationRetryNotAllowed

  • Mensagem: Migration isn't in a retriable state. Migration must be in state WaitForRetry. Current state: <State>, Target server: <Target Server>, Target database: <Target database>.

  • Causa: uma solicitação de nova tentativa foi recebida quando a migração não estava em um estado que permitisse novas tentativas.

  • Recomendação: Nenhuma ação necessária. A migração está em curso ou concluída.

Código de erro: 2040 - MigrationTimeoutWaitingForRetry

  • Mensagem: Migration retry timeout limit of 8 hours reached. Target server: <Target Server>, Target database: <Target Database>.

  • Causa: a migração ficou ociosa em um estado com falha, mas recuperável por 8 horas e foi cancelada automaticamente.

  • Recomendação: Nenhuma ação é necessária, a migração foi cancelada.

Código de erro: 2041 - DataCopyCompletedDuringCancel

  • Mensagem: Data copy finished successfully before canceling completed. Target schema is in bad state. Target server: <Target Server>, Target database: <Target Database>.

  • Causa: a solicitação de cancelamento foi recebida e a cópia de dados foi concluída com êxito, mas o esquema do banco de dados de destino não foi retornado ao seu estado original.

  • Recomendação: Se desejado, o banco de dados de destino pode ser retornado ao seu estado original executando a primeira consulta e todas as consultas retornadas, executando a segunda consulta e fazendo o mesmo.

    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (3, 4, 6);
    
    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (5, 7, 8)
    ORDER BY STEP DESC;
    

Código de erro: 2042 - PreCopyStepsCompletedDuringCancel

  • Mensagem: Pre Copy steps finished successfully before canceling completed. Target database Foreign keys and temporal tables have been altered. Schema migration may be required again for future migrations. Target server: <Target Server>, Target database: <Target Database>.

  • Causa: a solicitação de cancelamento foi recebida e as etapas para preparar o banco de dados de destino para cópia foram concluídas com êxito. O esquema do banco de dados de destino não foi retornado ao seu estado original.

  • Recomendação: Se desejado, o banco de dados de destino pode ser retornado ao seu estado original executando a consulta a seguir e todas as consultas retornadas.

    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (3, 4, 6);
    

Código de erro: 2043 - CreateContainerFailed

  • Mensagem: Create container <ContainerName> failed with error Error calling the endpoint '<URL>'. Response status code: 'NA - Unknown'. More details: Exception message: 'NA - Unknown [ClientSideException] Invalid Url:<URL>.

  • Causa: a solicitação falhou devido a um problema subjacente, como conectividade de rede, falha de DNS, validação de certificado de servidor ou tempo limite.

  • Recomendação: Para obter mais etapas de solução de problemas, consulte Solucionar problemas do Azure Data Factory e pipelines do Sinapse.

Código de erro: 2049 - FileShareTestConnectionFailed

  • Mensagem: The value of the property '' is invalid: 'Access to <share path> is denied, resolved IP address is <IP address>, network type is OnPremise'.

  • Causa: O compartilhamento de rede onde os backups de banco de dados são armazenados está na mesma máquina que o SHIR (Integration Runtime) auto-hospedado.

  • Recomendação: A versão mais recente do Integration Runtime (5.28.8488) impede o acesso a um compartilhamento de arquivos de rede em um host local. Certifique-se de executar o Integration Runtime em uma máquina diferente da hospedagem de compartilhamento de rede. Se não for possível hospedar o Tempo de Execução de Integração auto-hospedado e o compartilhamento de rede em máquinas diferentes com sua configuração de migração atual, você poderá usar a opção para desativar o uso do DisableLocalFolderPathValidation.

    Nota

    Para obter mais informações, consulte Configurar um IR auto-hospedado existente por meio do PowerShell local. Use a opção de desativação com discrição, pois isso é menos seguro.

Código de erro: 2055 - SqlInfoCollectionFailed

  • Mensagem: A database operation failed with the following error: 'VIEW SERVER PERFORMANCE STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action.

  • Causa: O logon usado para o servidor de destino (Banco de Dados SQL do Azure) não tem a função de servidor ##MS_ServerStateReader##.

  • Recomendação: Forneça a função ##MS_ServerStateReader## ao logon do Destino SQL do Azure. Consulta: ALTER SERVER ROLE ##MS_ServerStateReader## ADD MEMBER login.

Nota: Esta consulta deve ser executada no contexto do banco de dados mestre

Código de erro: 2056 - SqlInfoValidationFailed

  • Mensagem: CollationMismatch: Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.

  • Causa: o agrupamento do banco de dados de origem não é o mesmo que o agrupamento do banco de dados de destino.

  • Recomendação: Certifique-se de alterar o agrupamento do Banco de Dados SQL do Azure de destino para o mesmo que o banco de dados SQL Server de origem. O Banco de Dados SQL do Azure usa SQL_Latin1_General_CP1_CI_AS o agrupamento por padrão, caso seu banco de dados SQL Server de origem use um agrupamento diferente, talvez seja necessário recriar ou selecionar um banco de dados de destino diferente cujo agrupamento corresponda. Para obter mais informações, consulte Suporte a agrupamento e Unicode

  • Mensagem: TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.

  • Causa: O agrupamento da coluna da tabela do banco de dados de origem não é o mesmo que o agrupamento da coluna da tabela do banco de dados de destino.

  • Recomendação:

    1. Certifique-se de migrar o esquema para o Banco de Dados SQL do Azure de destino usando o Serviço de Migração de Banco de Dados. Consulte o blog.

    2. Siga este artigo para alterar manualmente o agrupamento.

    Para obter mais informações, consulte Suporte a agrupamento e Unicode

  • Mensagem: DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.

  • Causa: as tabelas selecionadas para a migração não existem no Banco de Dados SQL do Azure de destino.

  • Recomendação: Verifique se o esquema do banco de dados de destino foi criado antes de iniciar a migração. Para obter mais informações sobre como implantar o esquema de banco de dados de destino, consulte Extensão de projetos do Banco de dados SQL

  • Mensagem: DatabaseSizeMoreThanMax: The source database size <Source Database Size> exceeds the maximum allowed size of the target database <Target Database Size>. Check if the target database has enough space.

  • Causa: o banco de dados de destino não tem espaço suficiente.

  • Recomendação: Verifique se o esquema do banco de dados de destino foi criado antes de iniciar a migração. Para obter mais informações sobre como implantar o esquema de banco de dados de destino, consulte Extensão de projetos do Banco de dados SQL.

  • Mensagem: NoTablesFound: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Causa: as tabelas selecionadas para a migração não existem no Banco de Dados SQL do Azure de destino.

  • Recomendação: Verifique se as tabelas selecionadas existem no Banco de Dados SQL do Azure de destino. Se essa migração for chamada a partir de um script do PowerShell, verifique se o parâmetro table list inclui os nomes de tabela corretos e é passado para a migração.

  • Mensagem: SqlVersionOutOfRange: Source instance version is lower than 2008, which is not supported to migrate. Source instance: <InstanceName>.

  • Causa: o Serviço de Migração de Banco de Dados do Azure não oferece suporte à migração de instâncias do SQL Server inferiores a 2008.

  • Recomendação: atualize sua instância do SQL Server de origem para uma versão mais recente do SQL Server. Para obter mais informações, consulte Atualizar o SQL Server.

  • Mensagem: TableMappingMismatch: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Causa: as tabelas selecionadas para a migração não existem no Banco de Dados SQL do Azure de destino.

  • Recomendação: Verifique se as tabelas selecionadas existem no Banco de Dados SQL do Azure de destino. Se essa migração for chamada a partir de um script do PowerShell, verifique se o parâmetro table list inclui os nomes de tabela corretos e é passado para a migração.

Código de erro: 2060 - SqlSchemaCopyFailed

  • Mensagem: The SELECT permission was denied on the object 'sql_logins', database 'master', schema 'sys'.

  • Causa: a conta que os clientes usam para conectar o Banco de Dados SQL do Azure não tem permissão para acessar sys.sql_logins a tabela.

  • Recomendação: Existem duas formas de mitigar o problema:

    1. Adicione a função 'sysadmin' à conta, que concede permissão de administrador.

    2. Se os clientes não puderem usar a conta sysadmin ou não puderem conceder permissão sysadmin à conta, a permissão mínima no SQL Server de origem necessária será "db_owner" e, no banco de dados SQL do Azure de destino, crie um usuário no mestre e conceda funções de servidor fixas ##MS_DatabaseManager##,##MS_DatabaseConnector##, ##MS_DefinitionReader## e ##MS_LoginManager## ao usuário. Por exemplo,

      -- Run the script in the master database
      CREATE LOGIN testuser WITH PASSWORD = '*********';
      
      ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
      GO
      
      CREATE USER testuser FOR LOGIN testuser;
      EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
      EXECUTE sp_addRoleMember 'loginmanager', 'testuser';
      
  • Mensagem: Failed to get service token from ADF service.

  • Causa: o SHIR do cliente não consegue conectar o data factory.

  • Recomendação: Este é um exemplo de documento como resolvê-lo: Tempo de execução da integração Não é possível conectar-se ao Data Factory

  • Mensagem: IR Nodes are offline.

  • Causa: A causa pode ser que a rede é interrompida durante a migração e, portanto, o nó IR fica offline. Certifique-se de que a máquina onde o SHIR está instalado está ligada.

  • Recomendação: Certifique-se de que a máquina onde o SHIR está instalado está ligada.

  • Mensagem: Deployed failure: {0}. Object element: {1}.

  • Causa: este é o erro mais comum que os clientes podem encontrar. Isso significa que o objeto não pode ser implantado no destino porque não tem suporte no destino.

  • Recomendação: Os clientes precisam verificar os resultados da avaliação (regras de avaliação). Esta é a lista de problemas de avaliação que podem falhar na migração do esquema:

    Nota

    Para exibir os detalhes do erro, abra o gerenciador de configuração do tempo de execução da Microsoft Integration e navegue até os logs de exibição de log > de > diagnóstico. No Visualizador de eventos, navegue até Conectores de logs > de aplicativos e serviços - Tempo de execução da integração e filtre erros.

  • Mensagem: Deployed failure: Index cannot be created on computed column '{0}' of table '{1}' because the underlying object '{2}' has a different owner. Object element: {3}.

    Exemplo de script gerado: IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[Sales].[Customer]') AND name = N'AK_Customer_AccountNumber') CREATE UNIQUE NONCLUSTERED INDEX [AK_Customer_AccountNumber] ON [Sales].[Customer] ( [AccountNumber] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

  • Causa: Todas as referências de função na coluna computada devem ter o mesmo proprietário da tabela.

  • Recomendação: Consulte Requisitos de propriedade.

Código de erro: Ext_RestoreSettingsError

  • Mensagem: Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.; The remote server returned an error: (403) Forbidden

  • Causa: o destino SQL do Azure não consegue se conectar ao armazenamento de blobs.

  • Recomendação: Confirme se as configurações de rede de destino permitem acesso ao armazenamento de blobs. Por exemplo, se você estiver migrando para um SQL Server no destino de VM do Azure, verifique se as conexões de saída na Máquina Virtual não estão sendo bloqueadas.

  • Mensagem: Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.

  • Causa: o destino SQL do Azure não consegue se conectar ao armazenamento de blobs.

  • Recomendação: Confirme se as configurações de rede de destino permitem acesso ao armazenamento de blobs. Por exemplo, se estiver migrando para VM SQL, verifique se as conexões de saída na VM não estão sendo bloqueadas.

  • Mensagem: Migration for Database <Database Name> failed with error 'Migration cannot be completed because provided backup file name <Backup File Name> should be the last restore backup file <Last Restore Backup File Name>'.

  • Causa: o backup mais recente não foi especificado nas configurações de backup.

  • Recomendação: Especifique o nome do arquivo de backup mais recente nas configurações de backup e tente novamente a operação.

  • Mensagem: Operation failed: errorCode: Ext_RestoreSettingsError, message: RestoreId: 1111111-aaaa-bbbb-cccc-dddddddd, OperationId: 2222222-aaaa-bbbb-cccc-dddddddd, Detail: Unable to read blobs in storage container, exception: Unable to connect to the remote server;Unable to connect to the remote server;A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 11.111.11.111:443.

  • Causa: é possível que o erro ocorra para contas de armazenamento com configuração de ponto final de rede pública e privada. Também é possível que você tenha um servidor DNS local que controle um roteamento de rede híbrido e DHCP. A menos que você permita os endereços IP do Azure configurados em seu servidor DNS, seu destino de VM do SQL Server no Azure não tem chance de resolver o ponto de extremidade de blob de armazenamento remoto.

  • Recomendação: Para depurar esse problema, você pode tentar executar ping na URL do Armazenamento de Blobs do Azure do SQL Server no destino da VM do Azure e confirmar se você tem um problema de conectividade. Para resolver esse problema, você precisa permitir os endereços IP do Azure configurados em seu servidor DNS. Para obter mais informações, consulte Solucionar problemas de conectividade do Ponto de Extremidade Privado do Azure

Código de erro: Nenhum host é conhecido OU urlopen error [Errno 11001] getaddrinfo failed

  • Mensagem: No such host is known

  • Causa: ao migrar logons usando o comando do PowerShell New-AzDataMigrationLoginsMigration, ele falha com a mensagem anterior.

  • Recomendação: Para resolver esse problema, atualize os cmdlets do Microsoft Azure PowerShell - Serviço de Migração de Banco de Dados - Az.DataMigration acima da versão mínima 0.14.5.

    A versão mais recente do Az.Datamigration pode ser baixada da galeria do PowerShell ou o comando a seguir pode ser usado para atualizar.

 Update-Module -Name Az.DataMigration
  • Mensagem: urlopen error [Errno 11001] getaddrinfo failed

  • Causa: ao migrar logons usando o Azure CLI Az dataMigration login-migration, ele falha com a mensagem anterior.

  • Recomendação: Para resolver esse problema, atualize a CLI do Microsoft Azure - extensão do Serviço de Migração de Banco de Dados - az dataMigration para 1.0.0b1 ou uma versão posterior. Execute o seguinte comando para atualizar.

 az extension update -n datamigration

Regras de nomenclatura do Serviço de Migração de Banco de Dados do Azure

Se o seu serviço DMS falhou com "Erro: o nome do serviço 'x_y_z' não é válido", então terá de seguir as Regras de Nomenclatura do Serviço de Migração de Base de Dados do Azure. Como o Serviço de Migração de Banco de Dados do Azure usa o Azure Data Factory para sua computação, ele segue exatamente as mesmas regras de nomenclatura mencionadas nas regras de nomenclatura.

Limitações do Banco de Dados SQL do Azure

A migração para o Banco de Dados SQL do Azure usando a extensão SQL do Azure para o Azure Data Studio tem as seguintes limitações:

A migração offline do Banco de Dados SQL do Azure utiliza pipelines do Azure Data Factory (ADF) para movimentação de dados e, portanto, respeita as limitações do ADF. Um ADF correspondente é criado quando um serviço de migração de banco de dados também é criado. Assim, aplicam-se limites de fábrica por serviço.

  • A máquina onde o SHIR está instalado atua como o cálculo para a migração. Certifique-se de que esta máquina pode lidar com a carga de CPU e memória da cópia de dados. Para saber mais, consulte as recomendações do SHIR.
  • Limite de 100.000 tabelas por banco de dados.
  • 10.000 migrações simultâneas de banco de dados por serviço.
  • A velocidade de migração depende muito da SKU do Banco de Dados SQL do Azure de destino e do host do Integration Runtime auto-hospedado.
  • A migração do Banco de Dados SQL do Azure é mal dimensionada com números de tabela devido à sobrecarga do ADF no início das atividades. Se um banco de dados tiver milhares de tabelas, o processo de inicialização de cada tabela pode levar alguns segundos, mesmo que elas sejam compostas por uma linha com 1 bit de dados.
  • Atualmente, não há suporte para migração de nomes de tabela do Banco de Dados SQL do Azure com caracteres de byte duplo. A mitigação consiste em renomear tabelas antes da migração; eles podem ser alterados de volta aos seus nomes originais após a migração bem-sucedida.
  • Tabelas com colunas de blob grandes podem falhar na migração devido ao tempo limite.
  • No momento, não há suporte para nomes de bancos de dados com o SQL Server reservado.
  • Atualmente, não há suporte para nomes de banco de dados que incluam ponto-e-vírgula.
  • As colunas computadas não são migradas.

Limitações do Azure SQL Managed Instance

Migrar para o Azure SQL Managed Instance com a extensão SQL do Azure para o Azure Data Studio tem as seguintes limitações:

  • Se migrar uma base de dados individual, as cópias de segurança da base de dados terão de ser colocadas numa estrutura de ficheiro simples dentro de uma pasta de base de dados (incluindo a pasta raiz do contentor) e as pastas não poderão ser aninhadas, dado que não são suportadas.
  • Se migrar várias bases de dados com o mesmo contentor de Armazenamento de Blobs do Azure, deverá colocar ficheiros de cópia de segurança de diferentes bases de dados em pastas separadas dentro do contentor.
  • A substituição das bases de dados existentes com o DMS no Azure SQL Managed Instance de destino não é suportada.
  • O DMS não oferece suporte à configuração de alta disponibilidade e recuperação de desastres em seu destino para corresponder à topologia de origem.
  • Os seguintes objetos de servidor não são suportados:
    • Trabalhos do SQL Server Agent
    • Credenciais
    • Pacotes SSIS
    • Auditoria do servidor
  • Não pode utilizar um runtime de integração autoalojado existente, criado a partir do Azure Data Factory para migrações da bases de dados com o DMS. Inicialmente, o runtime de integração autoalojado deve ser criado com a extensão de migração do SQL do Azure no Azure Data Studio e pode ser reutilizado para outras migrações de bases de dados.
  • Um único trabalho LRS (criado pelo DMS) pode ser executado durante um máximo de 30 dias. Quando este período expirar, o trabalho será automaticamente cancelado, pelo que a base de dados de destino é automaticamente eliminada.
  • Se você recebeu o seguinte erro: Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance. Esse problema é por design, Hekaton (também conhecido como SQL Server In-Memory OLTP) não é suportado na camada de uso geral da instância gerenciada SQL do Azure. Para continuar a migração, uma maneira é atualizar para a camada Crítica de Negócios, que suporta Hekaton. Outra maneira é garantir que o banco de dados de origem não esteja usando-o enquanto a Instância Gerenciada SQL do Azure for de Propósito Geral.

Limitações do SQL Server em VMs do Azure

A migração para o SQL Server em VMs do Azure usando a extensão SQL do Azure para o Azure Data Studio tem as seguintes limitações:

  • Ao migrar um único banco de dados, os backups de banco de dados devem ser colocados em uma estrutura de arquivo simples dentro de uma pasta de banco de dados (incluindo a pasta raiz do contêiner) e as pastas não podem ser aninhadas, pois não há suporte.
  • Se migrar várias bases de dados com o mesmo contentor de Armazenamento de Blobs do Azure, deverá colocar ficheiros de cópia de segurança de diferentes bases de dados em pastas separadas dentro do contentor.
  • Não há suporte para a substituição de bancos de dados existentes usando DMS em seu SQL Server de destino na Máquina Virtual do Azure.
  • A configuração de elevada disponibilidade e a recuperação após desastre no destino para corresponder à topologia de origem não é suportada pelo DMS.
  • Os seguintes objetos de servidor não são suportados:
    • Trabalhos do SQL Server Agent
    • Credenciais
    • Pacotes SSIS
    • Auditoria do servidor
  • Não pode utilizar um runtime de integração autoalojado existente, criado a partir do Azure Data Factory para migrações da bases de dados com o DMS. Inicialmente, o runtime de integração autoalojado deve ser criado com a extensão de migração do SQL do Azure no Azure Data Studio e pode ser reutilizado para outras migrações de bases de dados.
  • Não há suporte para VMs com SQL Server 2008 e versões inferiores como versões de destino ao migrar para o SQL Server em Máquinas Virtuais do Azure.
  • Se você estiver usando uma VM com o SQL Server 2012 ou o SQL Server 2014, precisará armazenar seus arquivos de backup do banco de dados de origem em um contêiner de Blob de Armazenamento do Azure em vez de usar a opção de compartilhamento de rede. Armazene os arquivos de backup como blobs de página, pois os blobs de bloco só são suportados no SQL 2016 e depois.
  • Você deve certificar-se de que a Extensão do Agente IaaS do SQL na Máquina Virtual do Azure de destino está no modo Completo em vez do modo Leve.
  • O SQL IaaS Agent Extension oferece suporte apenas ao gerenciamento de Instância de Servidor Padrão ou Instância Nomeada Única.
  • Você pode migrar um máximo de 100 bancos de dados para a mesma Máquina Virtual do SQL Server do Azure como destino usando uma ou mais migrações simultaneamente. Além disso, quando uma migração com 100 bancos de dados for concluída, aguarde pelo menos 30 minutos antes de iniciar uma nova migração para a mesma Máquina Virtual do SQL Server do Azure que o Destino. Além disso, cada operação de migração (iniciar migração, substituição) para cada banco de dados levará alguns minutos sequencialmente. Por exemplo, para migrar 100 bancos de dados, pode levar aproximadamente 200 (2 x 100) minutos para criar a(s) fila(s) de migração e aproximadamente 100 (1 x 100) minutos para fazer o failover de todos os 100 bancos de dados (excluindo o tempo de backup e restauração). Portanto, a migração se tornará mais lenta à medida que o número de bancos de dados aumentar. A Microsoft aconselha agendar uma janela de migração mais longa com antecedência com base em testes de migração rigorosos ou particionar um grande número de bancos de dados em lotes ao migrá-los para uma VM do Azure do SQL Server.
  • Além de configurar a rede/firewall da sua conta de armazenamento do Azure para permitir que sua VM acesse arquivos de backup. Você também precisa configurar a Rede/Firewall do seu SQL Server na VM do Azure para permitir a conexão de saída com sua conta de armazenamento.
  • Você precisa manter o SQL Server de destino na VM do Azure ligado enquanto a Migração SQL está em andamento. Além disso, ao criar uma nova migração, faça failover ou cancele a migração.
  • Erro: Login failed for user 'NT Service\SQLIaaSExtensionQuery. Motivo: a instância do SQL Server está no modo de usuário único. Um motivo possível é que o SQL Server de destino na VM do Azure está no modo de atualização. Solução: Aguarde até que o SQL Server de destino na VM do Azure saia do modo de atualização e inicie a migração novamente.
  • Erro: Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists. Solução: conecte-se ao SQL Server de destino na VM do Azure e exclua o arquivo XXX.mdf. Em seguida, inicie a migração novamente.

Limitações do Azure Data Studio

Falha ao iniciar o Serviço de Migração SQL: Erro: Erro de solicitação

  • Mensagem: Error at ClientRequest.<anonymous> (c:\Users\MyUser\.azuredatastudio\extensions\microsoft.sql-migration-1.4.2\dist\main.js:2:7448) at ClientRequest.emit (node:events:538:35) at TLSSocket.socketOnEnd (node:_http_client:466:9) at TLSSocket.emit (node:events:538:35) at endReadableNT (node:internal/streams/readable:1345:12) at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

  • Causa: esse problema ocorre quando o Azure Data Studio não consegue baixar o pacote MigrationService do https://github.com/microsoft/sqltoolsservice/releases. A falha de download pode ser devido ao trabalho de rede desconectado ou configurações de proxy não resolvidas.

  • Recomendação: A maneira segura de resolver esse problema é baixando o pacote manualmente. Siga as etapas de mitigação descritas neste link: https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891