Solução de problemas conhecidos e limitações
Este artigo fornece uma lista de problemas conhecidos e etapas de solução de problemas associadas à extensão de Migração do 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 DMS. Certifique-se de executar o Integration Runtime em um computador 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 que estão sendo colocados incorretamente no contêiner do Armazenamento do Microsoft Azure. Se os backups forem colocados no compartilhamento de arquivos de rede, esse erro também poderá ocorrer devido a problemas de conectividade de rede.
Recomendação: verifique se os backups de banco de dados no contêiner de Armazenamento do Microsoft Azure estão corretos. Se você está usando o compartilhamento de arquivos de rede, pode haver problemas e atrasos relacionados à rede 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: atualmente, a restauração de VM do SQL não é compatível com a restauração de bancos de dados com arquivos de catálogo de texto completo, pois a VM do SQL do Azure não é compatível com eles no momento.
Recomendação: remover arquivos completos do catálogo de texto 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: esse erro ocorre devido a uma limitação conhecida no SqlMi. Isso significa que '{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: '{providedFileName}' é "log1", mas os arquivos no contêiner têm outros arquivos, como "log2", que têm o maior número de LSN 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 poderá 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 por Transparent Data Encryption (TDE) para a Instância Gerenciada de SQL do Azure de destino ou o SQL Server na Máquina Virtual do Azure.
Recomendação: migre o certificado TDE para a instância de destino e repita o processo. Para obter mais informações sobre como migrar bancos de dados habilitados para TDE, confira Tutorial: Migrar bancos de dados habilitados para TDE (versão prévia) 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 foi possível restaurar um backup do SQL Server para uma versão anterior do SQL Server além da versão na qual o backup foi criado.
Recomendação: confira 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 de SQL do Azure atingiu seus limites de recursos.
Recomendação: para obter mais informações sobre limites de armazenamento, confira Visão geral dos limites de recursos da Instância Gerenciada de 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 em 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 do banco de dados pode ser a causa.
Recomendação: consulte 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 do banco de dados para obter as 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 que estão sendo colocados incorretamente no contêiner do Armazenamento do Microsoft Azure. Se os backups forem colocados no compartilhamento de arquivos de rede, esse erro também poderá ocorrer devido a problemas de conectividade de rede.
Recomendação: verifique se os backups de banco de dados no contêiner de Armazenamento do Microsoft Azure estão corretos. Se você está usando o compartilhamento de arquivos de rede, pode haver problemas relacionados à rede e atrasos que estão causando esse erro. Aguarde o processo ser concluído.
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 possível causa desse erro é o nome de contêiner de conta de armazenamento estar incorreto.
Recomendação: execute RESTORE FILELISTONLY para verificar os nomes de arquivo lógicos em seu backup. Para obter mais informações sobre RESTORE FILELISTONLY, confira 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 Microsoft Azure não está configurado para permitir o acesso ao destino do SQL do Azure.
Recomendação: para obter mais informações sobre a configuração do firewall do Armazenamento do Microsoft Azure, confira Configurar firewalls e redes virtuais do Armazenamento do Microsoft Azure.
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.
Recommendation: se estiver migrando vários bancos de dados para a Instância Gerenciada de SQL do Azure usando o mesmo contêiner do Armazenamento de Blobs do Azure, você deverá colocar os arquivos de backup de bancos de dados diferentes em pastas separadas dentro do contêiner. Para obter mais informações sobre o LRS, confira Migrar bancos de dados do SQL Server para a Instância Gerenciada de SQL usando o Serviço de Reprodução de Log (versão prévia).
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 independente. Uma configuração específica é necessária para habilitar a restauração de um banco de dados independente. Para obter mais informações sobre bancos de dados independentes, confira Usuários de banco de dados independente.
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 realizar a migração do banco de dados independente novamente.
-- Enable "contained database authentication" EXECUTE sp_configure 'contained', 1; RECONFIGURE;
Observação
Para obter mais informações sobre as etapas gerais de solução de problemas para erros da Instância Gerenciada de SQL do Azure, consulte Problemas conhecidos com a Instância Gerenciada de 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: as configurações de rede no firewall estão fazendo com que o runtime de integração auto-hospedada não consiga se conectar ao back-end do serviço.
Recomendação: há um problema de DNS (Sistema de Nomes de Domínio). Entre em contato com a equipe de rede para corrigir o problema. Para obter mais informações, confira Solucionar problemas do runtime 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 runtime de integração auto-hospedada não consegue se conectar ao compartilhamento de arquivos de rede em que os backups de banco de dados são colocados.
Recomendação: verifique se o nome do compartilhamento de arquivo 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 runtime de integração auto-hospedada não consegue se conectar ao compartilhamento de arquivos de rede em que os backups de banco de dados são colocados.
Recomendação: verifique se o nome do compartilhamento de arquivo de rede foi inserido corretamente.
Mensagem:
Failed to test connections using provided Integration Runtime.
Causa: falha na conexão com o runtime de integração auto-hospedada.
Recomendação: consulte Solucionar problemas do runtime de integração auto-hospedada para obter etapas gerais de solução de problemas para erros de conectividade do runtime de integração.
Código de erro: 2014 – IntegrationRuntimeIsNotOnline
Mensagem:
Integration Runtime <IR Name> in resource group <Resource Group Name> Subscription <SubscriptionID> isn't online.
Causa: o runtime de integração auto-hospedada não está online.
Recomendação: verifique se o runtime de integração auto-hospedada está registrado e online. Para executar o registro, você pode usar scripts do artigo Automatizar a instalação do runtime de integração auto-hospedada usando scripts locais do PowerShell. Confira, também, Solucionar problemas do runtime de integração auto-hospedada para obter etapas gerais de solução de problemas para erros de conectividade do runtime de integração.
Código de erro: 2030 – AzureSQLManagedInstanceNotReady
Mensagem:
Azure SQL Managed Instance <Instance Name> isn't ready.
Causa: a Instância Gerenciada de SQL do Azure não está em estado pronto.
Recomendação: aguarde até que a Instância Gerenciada de SQL do Azure tenha terminado a implantação e esteja pronta e repita 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 da conclusão do cancelamento.
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 repetição foi recebida quando a migração não estava em um estado que permitia a repetição.
Recomendação: nenhuma ação é necessária. A migração está em andamento ou foi 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 estava 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 de banco de dados de destino não foi retornado ao 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 de banco de dados de destino não foi retornado ao 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, uma falha de DNS, uma validação de certificado do servidor ou um tempo limite.
Recomendação: para obter mais etapas de solução de problemas, confira Solucionar problemas de pipelines do Azure Data Factory e do Synapse.
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 em que os backups de banco de dados são armazenados está no mesmo computador que o runtime de integração auto-hospedada (SHIR).
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 um computador diferente da hospedagem de compartilhamento de rede. Se a hospedagem do Integration Runtime auto-hospedado e o compartilhamento de rede em computadores diferentes não for possível com a configuração de migração atual, você poderá usar a opção para recusar o uso de
DisableLocalFolderPathValidation
.Observação
Para obter mais informações, confira Configurar um runtime de IR auto-hospedado existente por meio do PowerShell local. Use a opção de desabilitação com discrição, pois ela é menos segura.
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 login usado para o servidor de destino (BD SQL do Azure) não tem a função de servidor ##MS_ServerStateReader##.
Recomendação: Forneça a função ##MS_ServerStateReader## para o login do SQL do Azure de Destino. Consulta: ALTER SERVER ROLE ##MS_ServerStateReader## ADD MEMBER login.
Observação: essa consulta deve ser executada no contexto do BD 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: a ordenação do banco de dados de origem não é a mesma que a ordenação do banco de dados de destino.
Recomendação: certifique-se de alterar a ordenação do Banco de Dados SQL do Azure de destino para a mesma que o banco de dados do SQL Server de origem. O Banco de Dados SQL do Azure usa a ordenação
SQL_Latin1_General_CP1_CI_AS
por padrão; caso o banco de dados do SQL Server de origem use uma ordenação diferente, talvez seja necessário recriar ou selecionar um banco de dados de destino diferente com ordenação correspondente. Para obter mais informações, confira suporte para ordenação e UnicodeMensagem:
TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.
Causa: a ordenação da coluna da tabela do banco de dados de origem não é a mesma que a ordenação da coluna da tabela do banco de dados de destino.
Recomendação:
Lembre-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. Veja o blog.
Siga este artigo para alterar a ordenação manualmente.
Para obter mais informações, confira suporte para ordenação 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: certifique-se de que o esquema de banco de dados de destino tenha sido criado antes de iniciar a migração. Para obter mais informações sobre como implantar o esquema de banco de dados de destino, confira 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: certifique-se de que o esquema de banco de dados de destino tenha sido criado antes de iniciar a migração. Para obter mais informações sobre como implantar o esquema de banco de dados de destino, confira a extensãoProjetos 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 de lista de tabelas 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 dá 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, confira 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 de lista de tabelas 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 a tabela
sys.sql_logins
.Recomendação: há duas maneiras de atenuar o problema:
Adicione a função "sysadmin" à conta, que concede a permissão de administrador.
Se os clientes não puderem usar a conta sysadmin ou não puderem conceder permissão sysadmin à conta, a permissão mínima necessária no SQL Server de origem será "db_owner" e, no Banco de Dados SQL do Azure de destino, crie um usuário em mestre e conceda as funções de servidor fixas ##MS_DatabaseManager##, ##MS_DatabaseConnector##, ##MS_DefinitionReader## e ##MS_LoginManager## para o 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: esta é uma documentação de exemplo de como resolver o problema: Não é possível conectar o runtime de integração ao Data Factory
Mensagem:
IR Nodes are offline.
Causa: a causa pode ser a rede ter sido interrompida durante a migração e, portanto, o nó IR ter ficado offline. Certifique-se de que o computador no qual o SHIR está instalado esteja ativado.
Recomendação: certifique-se de que o computador em que o SHIR está instalado esteja ativado.
Mensagem:
Deployed failure: {0}. Object element: {1}.
Causa: esse é 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 de esquema:
- BULK INSERT
- Cláusula COMPUTE
- Provedor criptográfico
- Referências entre bancos de dados
- Alias da entidade de banco de dados
- Opção DISABLE_DEF_CNST_CHK
- Dica FASTFIRSTROW
- FILESTREAM
- MS DTC
- OPENROWSET (em massa)
- OPENROWSET (provedor)
Observação
Para exibir os detalhes do erro, abra o Gerenciador de configurações do runtime de integração da Microsoft e navegue até Diagnóstico > Logs > Exibir logs. No Visualizador de eventos, navegue até Logs de aplicativo e serviço >Conectores – runtime de integração e filtre para exibir 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 do 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 que a tabela.
Recomendação: confira 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 do SQL do Azure não consegue se conectar ao armazenamento de blobs.
Recomendação: confirme se as configurações de rede de destino permitem o acesso ao armazenamento de blobs. Por exemplo, se você estiver migrando para um SQL Server no destino da VM do Azure, certifique-se de que as conexões de saída na máquina virtual não estejam 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 do SQL do Azure não consegue se conectar ao armazenamento de blobs.
Recomendação: confirme se as configurações de rede de destino permitem o acesso ao armazenamento de blobs. Por exemplo, se estiver migrando para a VM do SQL, certifique-se de que as conexões de saída na VM não estejam 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 repita 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 rede pública e configuração de ponto de extremidade privado. Também é possível que você tenha um servidor DNS local que controla um roteamento de rede híbrida e DHCP. A menos que você permita os endereços IP do Azure configurados em seu servidor DNS, o destino do SQL Server na VM do Azure não tem nenhuma 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 de Armazenamento de Blobs do Azure do seu 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, confira Solucionar problemas de conectividade do ponto de extremidade privado do Azure
Código de erro: nenhum host conhecido OU erro de urlopen [Errno 11001] getaddrinfo falhou
Mensagem:
No such host is known
Causa: durante a migração de logons usando o comando do PowerShell New-AzDataMigrationLoginsMigration, ela 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 na 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: durante a migração de logons usando a migração de logon da CLI do Az dataMigration login-migration, ela 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
Em caso de falha do serviço DMS com o “Erro: o nome do serviço ‘x_y_z’ não é válido”, siga as regras de nomenclatura do Serviço de Migração de Banco de Dados do Azure. Como o Serviço de Migração de Banco de Dados do Azure usa o Azure Data Factory para a computação, ele segue as mesmas regras exatas de nomenclatura contidas 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 a Azure Data Studio tem as seguintes limitações:
A migração offline do Banco de Dados SQL do Azure utiliza pipelines do ADF (Azure Data Factory) para movimentação de dados e, portanto, segue as limitações do ADF. Um ADF correspondente é criado quando um serviço de migração de banco de dados também é criado. Portanto, os limites de fábrica se aplicam por serviço.
- O computador em que o SHIR está instalado atua como a computação para migração. Verifique se esse computador pode lidar com a carga de CPU e memória da cópia de dados. Para saber mais, examine as recomendações do SHIR.
- 100.000 tabelas por limite de banco de dados.
- 10.000 migrações simultâneas de banco de dados por serviço.
- A velocidade de migração depende muito do SKU do Banco de Dados SQL do Azure de destino e do host de runtime de integração auto-hospedada.
- A migração do banco de dados SQL do Azure é mal escalonada com números de tabela devido à sobrecarga do ADF nas atividades iniciais. 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 aos nomes de tabela do Banco de Dados SQL do Azure com caracteres de byte duplo. A mitigação é renomear tabelas antes da migração. Elas podem ser alteradas de volta para seus nomes originais após a migração bem-sucedida.
- Tabelas com colunas grandes de blobs podem falhar ao migrar devido ao tempo limite.
- Atualmente, não há suporte aos nomes de banco de dados com SQL Server reservados.
- Atualmente, não há suporte aos nomes de banco de dados que incluem ponto e vírgula.
- As colunas computadas não são migradas.
Limitações da Instância Gerenciada de SQL do Azure
Migrar para a Instância Gerenciada de SQL do Azure usando a extensão do Azure SQL para Azure Data Studio tem as seguintes limitações:
- Se estiver migrando um banco de dados individual, os backups de banco de dados deverão 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 poderão ser aninhadas, pois não há suporte.
- Caso esteja migrando vários bancos de dados usando o mesmo contêiner do Armazenamento de Blobs do Azure, você deverá colocar os arquivos de backup de bancos de dados diferentes em pastas separadas dentro do contêiner.
- Não há suporte para a substituição de bancos de dados existentes usando o DMS na Instância Gerenciada de SQL do Azure de destino.
- O DMS não suporta a configuração de alta disponibilidade e recuperação de desastres em seu destino para corresponder à topologia de origem.
- Não há suporte para os seguintes objetos do servidor:
- trabalhos do SQL Server Agent
- Credenciais
- Pacotes SSIS
- Auditoria de servidor
- Não é possível usar um runtime de integração auto-hospedada existente criado com base no Azure Data Factory para migrações de banco de dados com o DMS. Inicialmente, o runtime de integração auto-hospedada deve ser criado usando a extensão de migração do SQL do Azure no Azure Data Studio, e pode ser reutilizado para migrações de banco de dados posteriores.
- Um trabalho LRS (criado pelo DMS) único poderá executar por no máximo 30 dias. Quando esse período expirar, o trabalho será automaticamente cancelado, portanto, o banco de dados de destino será automaticamente excluído.
- 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 ocorre porque o Hekaton (também conhecido como SQL Server In-Memory OLTP) não é suportado na camada de Uso Geral da Instância Gerenciada de SQL do Azure. Para continuar a migração, uma forma é atualizar para o nível Comercialmente Crítico, que suporta o Hekaton. Outra maneira é se certificar de que o banco de dados de origem não o esteja usando enquanto a Instância Gerenciada de SQL do Azure for de Uso Geral.
Limitações do SQL Server em VMs do Azure
Migrar para o SQL Server em VMs do Azure usando a extensão do SQL do Azure para o Azure Data Studio tem as seguintes limitações:
- Se estiver migrando um banco de dados individual, os backups de banco de dados deverão 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 poderão ser aninhadas, pois não há suporte.
- Caso esteja migrando vários bancos de dados usando o mesmo contêiner do Armazenamento de Blobs do Azure, você deverá colocar os arquivos de backup de bancos de dados diferentes em pastas separadas dentro do contêiner.
- Não há suporte para substituir os bancos de dados existentes usando o DMS no SQL Server de destino na Máquina Virtual do Azure.
- No DMS, não há suporte para a configuração de alta disponibilidade e recuperação de desastre no destino para corresponder à topologia de origem.
- Não há suporte para os seguintes objetos do servidor:
- trabalhos do SQL Server Agent
- Credenciais
- Pacotes SSIS
- Auditoria de servidor
- Não é possível usar um runtime de integração auto-hospedada existente criado com base no Azure Data Factory para migrações de banco de dados com o DMS. Inicialmente, o runtime de integração auto-hospedada deve ser criado usando a extensão de migração do SQL do Azure no Azure Data Studio, e pode ser reutilizado para migrações de banco de dados posteriores.
- VM com SQL Server 2008 e versões anteriores como destino não têm suporte ao migrar para SQL Server em Máquinas Virtuais do Azure.
- Se estiver usando uma VM com o SQL Server 2012 ou o SQL Server 2014, será necessário armazenar os arquivos de backup do banco de dados de origem em um Contêiner do Azure Storage Blob 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 blocos só têm suporte no SQL 2016 e versões posteriores.
- Verifique se a extensão do Agente de IaaS do SQL na máquina virtual do Azure de destino está no modo Completo em vez do modo Leve.
- A Extensão do Agente de IaaS do SQL tem suporte apenas para o gerenciamento da Instância Padrão do Servidor ou da Instância Única Nomeada.
- Você pode migrar no máximo 100 bancos de dados para a mesma Máquina Virtual do SQL Server do Azure como o destino usando uma ou mais migrações simultaneamente. Além disso, depois que 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 como o Destino. Além disso, cada operação de migração (início da 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 as filas de migração e aproximadamente 100 (1 x 100) minutos para substituir 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 o agendamento prévio de uma janela de migração mais longa com base em testes rigorosos de migração ou o particionamento de um grande número de bancos de dados em lotes ao migrá-los para uma VM do SQL Server do Azure.
- Além de configurar a Rede/Firewall da sua Conta de Armazenamento do Microsoft Azure para permitir que sua VM acesse arquivos de backup. Você também precisa configurar a Rede/Firewall do 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 ativado enquanto a Migração do SQL estiver 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 é o SQL Server de destino na VM do Azure estar no modo de atualização. Solução: aguardar até que o SQL Server de destino na VM do Azure saia do modo de atualização e iniciar 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: conectar-se ao SQL Server de destino na VM do Azure e excluir 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 do 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 de https://github.com/microsoft/sqltoolsservice/releases. A falha de download pode ser devida ao trabalho de rede estar desconectado ou às configurações de proxy não terem sido 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