Usar a extensão de migração do SQL do Azure para migrar para o banco de dados SQL do Azure

Concluído

Se você puder se dar ao luxo de deixar o banco de dados offline enquanto faz a migração para o Azure, você tem algumas ferramentas que pode utilizar.

No nosso cenário de fabricação de bicicletas, o banco de dados de RH é considerado comercialmente crítico, mas raramente é utilizado nos fins de semana. Você planejou executar uma migração offline entre sexta-feira à noite e segunda-feira de manhã, mas quer avaliar o melhor método de migração.

Supõe-se que todas as verificações de pré-migração tenham sido feitas com a extensão de migração do SQL do Azure para o Azure Data Studio ou as Migrações para Azure. Esse processo garante que os problemas de recursos e compatibilidade sejam resolvidos.

Migrar usando a extensão de migração de SQL do Azure para o Azure Data Studio

A extensão Migrações para o SQL do Azure para o Azure Data Studio é uma ferramenta que ajuda você a se preparar para migrar seus bancos de dados SQL Server para o Azure. Ela avalia sua preparação para a migração, recomenda os melhores recursos do Azure para suas necessidades e facilita o processo de migração. Sugerimos usar a extensão para bancos de dados de tamanho pequeno a médio.

Captura de tela da extensão das migrações do SQL do Azure para a arquitetura do Azure Data Studio.

A extensão de migração do SQL do Azure utiliza a versão mais recente dos Serviços de Migração de Dados e inclui um recurso de avaliação avançada que pode avaliar se os bancos de dados do SQL Server estão prontos para serem migrados para o SQL do Azure.

Além disso, você pode migrar vários bancos de dados SQL Server utilizando a extensão Migração do SQL do Azure sem nenhum custo.

As etapas a seguir destacam o processo de migração para o banco de dados SQL do Azure usando a extensão Migração do SQL do Azure para o Azure Data Studio.

Etapa Descrição
Configuração Instale o Azure Data Studio e a extensão Migrações do SQL do Azure. Abra o Azure Data Studio e inicie o assistente de Migrações do SQL do Azure. Esse assistente guiará você pelo processo de migração.
Etapa 1: bancos de dados para avaliação Escolha os bancos de dados que você deseja migrar.
Etapa 2: resultados da avaliação e recomendações Avalie sua preparação para a migração. A ferramenta identifica os possíveis problemas que podem afetar o processo de migração. Coletar dados de desempenho do seu banco de dados atual. Esses dados são utilizados para fornecer recomendações para sua configuração do SQL do Azure.
Etapa 3: destino do Azure Selecione uma conta do Azure e o banco de dados SQL do Azure de destino.
Etapa 4: Serviço de Migração de Banco de Dados do Azure Selecione um Serviço de Migração de Banco de Dados do Azure existente ou crie um.
Etapa 5: configuração da fonte de dados Insira as credenciais utilizadas para se conectar à origem a partir do runtime de integração auto-hospedada. Selecionar as tabelas a serem migradas da origem para o destino. Antes de selecionar as tabelas a serem migradas, certifique-se de que você criou o esquema do banco de dados da origem para o destino usando a extensão dacpac, a extensão SQL Database Projects no Azure Data Studio ou o Assistente de Migração de Dados.
Etapa 6: resumo Revise as informações de migração e inicie o processo de migração.

O Serviço de Migração de Banco de Dados otimiza o processo de migração ignorando tabelas vazias, mesmo se você selecioná-las.

Importante

Atualmente, o Banco de Dados SQL do Azure não dá suporte à migração de nomes de tabelas que contenham caracteres de byte duplo. Como solução alternativa, você pode renomear temporariamente essas tabelas antes da migração e depois revertê-las para seus nomes originais uma vez concluída a migração.

Status da migração

Existem alguns status que mantêm você atualizado sobre o progresso da migração.

  • Preparação para cópia: o serviço está no processo de desabilitar estatísticas automáticas, gatilhos e índices na tabela de destino.

  • Copiando: a cópia de dados do banco de dados de origem para o banco de dados de destino está em andamento.

  • Cópia concluída: a cópia dos dados foi concluída e o serviço está aguardando que outras pessoas terminem a cópia.

  • Recompilando índices: o serviço está recompilando os índices nas tabelas de destino.

  • Bem-sucedido: todos os dados foram copiados e os índices foram reconstruídos.

Considerações sobre o desempenho

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. É altamente recomendável escalar verticalmente os recursos de computação do banco de dados SQL do Azure antes de iniciar o processo de migração para obter uma experiência de migração ideal.

Ao decidir sobre o servidor para instalar o runtime de integração auto-hospedado, verifique se esse computador pode lidar com a carga de CPU e memória da operação de cópia de dados.

A migração para o banco de dados SQL do Azure pode ser lenta com um grande volume de tabelas devido ao tempo que o Azure Data Factory (ADF) leva para iniciar as atividades, mesmo para tabelas pequenas.

Tabelas com colunas grandes de blobs podem falhar ao migrar devido ao tempo limite.

São recomendadas até 10 migrações simultâneas de banco de dados por runtime de integração auto-hospedada em um único computador. Expanda o runtime auto-hospedado ou crie instâncias separadas em diferentes computadores para aumentar as migrações de banco de dados simultâneas.

Migração do monitor

Uma vez iniciada a migração do banco de dados, você deve monitorar o progresso no Azure Data Studio. Você também pode acompanhar o progresso no portal do Microsoft Azure no recurso Serviço de Migração de Banco de Dados do Azure.

Monitorar a migração no Azure Data Studio

Em Status de migração do banco de dados, você pode acompanhar as migrações que estão em andamento, que foram concluídas e que falharam (se houver) ou pode exibir todas as migrações de banco de dados.

  1. Selecione Migrações de banco de dados em andamento no painel de migração para exibir as migrações em andamento.

    Captura de tela do painel de migração na extensão de migrações para o Azure Data Studio.

  2. Selecione o nome do banco de dados para obter mais detalhes.

    Captura de tela dos detalhes da migração na extensão de migração do Azure para o Azure Data Studio.

  3. A propriedade status da Migração será alterada para Concluída e, em seguida, para Bem-sucedido após a conclusão da migração.

    Captura de tela mostrando os detalhes da migração na extensão de migração do Azure para o Azure Data Studio, mostrando uma migração concluída.

Monitorar a migração no portal do Microsoft Azure

Alternativamente, você também pode monitorar a atividade de migração utilizando o Serviço de Migração de Banco de Dados do Azure.

Para monitorar a migração do banco de dados, você deve ir ao portal do Microsoft Azure e encontrar sua instância do Serviço de Migração de Banco de Dados. Uma vez localizado o serviço, você pode exibir a visão geral da instância. Selecione Monitorar migrações para acessar informações detalhadas sobre a migração do banco de dados em andamento.

Captura de tela da página de monitoramento nos Serviços de Migração de Banco de Dados do Azure no portal do Microsoft Azure.

Depois que o status da migração for Bem-sucedido, navegue até o servidor de destino e valide o banco de dados de destino. Verifique o esquema e os dados do banco de dados.

Migrar em escala

Você também pode executar uma migração offline do banco de dados SQL Server local para um banco de dados SQL do Azure utilizando o PowerShell ou a CLI do Azure.

O exemplo a seguir migra o banco de dados AdventureWorks para o Banco de Dados SQL do Azure.


$sourcePass = ConvertTo-SecureString "password" -AsPlainText -Force
$targetPass = ConvertTo-SecureString "password" -AsPlainText -Force

New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"

O exemplo a seguir migra um subconjunto de tabelas do banco de dados AdventureWorks.


New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-TableList "[Person].[Person]", "[Person].[EmailAddress]" `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"

Para saber mais sobre os comandos da extensão de migração do Azure PowerShell e da CLI do Azure disponíveis, confira os seguintes links: Módulo do PowerShell para a extensão de migração de dados e CLI do Azure para a extensão de migração de dados.