Guia de migração: SQL Server para SQL Server em Máquinas Virtuais do Azure

Aplica-se a:SQL Server na VM do Azure

Neste guia, você aprende a descobrir, avaliare migrar seus bancos de dados de usuário do SQL Server para uma instância do SQL Server em máquinas virtuais do Azure com ferramentas e técnicas de acordo com seus requisitos.

Você pode migrar o SQL Server em execução no local ou em:

  • SQL Server em Máquinas Virtuais (VMs).
  • Amazon Web Services (AWS) EC2.
  • Serviço de banco de dados relacional do Amazon (AWS RDS).
  • Compute Engine (Google Cloud Platform [GCP]).

Para obter informações sobre estratégias de migração extra, consulte a Visão geral da migração de VM do SQL Server. Para obter outros guias de migração, confira Guias de migração do Banco de Dados do Azure.

Diagram that shows a migration process flow.

Pré-requisitos

Migrar para o SQL Server em máquinas virtuais do Azure requer os seguintes recursos:

Pré-migração

Antes de começar a migração, você precisa descobrir a topologia do seu ambiente SQL e avaliar a viabilidade da sua migração pretendida.

Descobrir

As Migrações para Azure avaliam a adequação da migração de máquinas locais, realiza o dimensionamento com base no desempenho e fornece estimativas de custo para a execução no local. Para planejar a migração, use as Migrações para Azure para identificar as fontes de dados existentes e os detalhes sobre os recursos que suas instâncias de SQL Server usam. Esse processo envolve a verificação da rede para identificar todas as instâncias do SQL Server da sua organização junto com a versão e os recursos em uso.

Importante

Ao escolher uma máquina virtual de destino do Azure para sua instância de SQL Server, considere as diretrizes de desempenho para SQL Server em máquinas virtuais do Azure.

Para obter mais ferramentas de descoberta, consulte os Serviços e as ferramentas disponíveis para cenários de migração de dados.

Avaliar

Ao migrar de SQL Server local para SQL Server em Máquinas Virtuais do Azure, é improvável que você tenha problemas de compatibilidade ou paridade de recursos se as versões de origem e destino do SQL Server forem iguais. Se você não estiver atualizando a versão do SQL Server, ignore esta etapa e vá para a seção Migrar.

Antes da migração, ainda é uma boa prática executar uma avaliação dos bancos de dados do SQL Server para identificar bloqueadores de migração (caso haja) e a extensão de migração de SQL do Azure para Azure Data Studio faz isso antes da migração.

Observação

Se você estiver avaliando todo o conjunto de dados do SQL Server em escala no VMware, use o Migrações para Azure para obter recomendações de implantação do SQL do Azure, dimensionamento de destino e estimativas mensais.

Avaliar bancos de dados de usuário

A extensão de migração de SQL do Azure para Azure Data Studio fornece uma experiência perfeita baseada em assistente para avaliar, obter recomendações do Azure e migrar o banco de dados do SQL Server local para o SQL Server em Máquinas Virtuais do Azure. Além disso, destacando quaisquer bloqueadores de migração ou avisos, a extensão também inclui uma opção de recomendações do Azure para coletar dados de desempenho dos bancos de dados para recomendar um SQL Server em Máquinas Virtuais do Azure de tamanho correto para atender às necessidades de desempenho da carga de trabalho (com o menor preço).

Para saber mais sobre recomendações do Azure, confira Obter recomendação do Azure de tamanho correto para seus bancos de dados locais do SQL Server.

Importante

Para avaliar bancos de dados usando a extensão de migração de SQL do Azure, verifique se os logons usados para conectar o SQL Server de origem são membros da função de servidor sysadmin ou têm permissão CONTROL SERVER.

Para uma atualização de versão, use Assistente de Migração de Dados para avaliar instâncias SQL Server locais se você estiver atualizando para uma instância de SQL Server em Máquinas Virtuais do Azure com uma versão superior para entender as lacunas entre as versões de origem e de destino.

Avaliar os aplicativos

Normalmente, uma camada de aplicativo acessa os bancos de dados de usuário para persistir e modificar os dados. O Assistente de Migração de Dados pode avaliar a camada de acesso a dados de um aplicativo de duas maneiras:

Durante a avaliação de bancos de dados de usuário, use Assistente de Migração de Dados para importar arquivos de rastreamento capturados ou arquivos do Data Access Migration Toolkit.

Avaliações em escala

Se você tiver vários servidores que exijam avaliação de preparação do Azure, você poderá automatizar o processo usando scripts com uma das opções a seguir. Para saber mais sobre como usar scripts, consulte Migrar bancos de dados em escala usando a automação.

Para relatórios de resumo em grandes imóveis, as avaliações de Assistente de Migração de Dados também podem ser consolidadas para Migrações para Azure.

Atualizar bancos de dados com Assistente de Migração de Dados

Para o cenário de atualização, você pode ter uma série de recomendações para garantir que seus bancos de dados de usuário executem e funcionem corretamente após a atualização. O Assistente de Migração de Dados fornece detalhes sobre os objetos e os recursos afetados para resolver cada problema. Certifique-se de resolver todas as alterações significativas e alterações de comportamento antes de iniciar a atualização de produção.

Para recursos preteridos, você pode optar por executar seus bancos de dados de usuário em seu modo de compatibilidade original se quiser evitar fazer essas alterações e acelerar a migração. Essa ação impedirá a atualização da compatibilidade do banco de dados até que os itens preteridos tenham sido resolvidos.

Cuidado

Nem todas as versões do SQL Server dão suporte a todos os modos de compatibilidade. Verifique se a versão de SQL Server de destino dá suporte à compatibilidade de banco de dados escolhida. Por exemplo, SQL Server 2019 não dá suporte a bancos de dados com compatibilidade de nível 90 (que é SQL Server 2005). Esses bancos de dados exigirão, pelo menos, uma atualização para o nível de compatibilidade 100.

Migrações

Depois de concluir as etapas de pré-migração, você estará pronto para migrar os bancos de dados e componentes do usuário. Migre seus bancos de dados usando seu método de migração preferencial.

As seguintes seções fornecem opções para executar uma migração em ordem de preferência:

Migrar usando a extensão de migração de SQL do Azure para o Azure Data Studio (tempo de inatividade mínimo)

Para executar uma migração com tempo de inatividade mínimo usando Azure Data Studio, siga as etapas de alto nível abaixo. Para um tutorial em detalhes passo a passo, consulte Migrar de SQL Server para SQL Server na Máquina Virtual do Azure online usando o Azure Data Studio:

  1. Baixe e instale o Azure Data Studio e a extensão de migração de SQL do Azure.
  2. Iniciar o assistente Migrar para o SQL do Azure na extensão do Azure Data Studio.
  3. Selecione bancos de dados para avaliação e exiba a preparação ou problemas de migração (se houver). Além disso, colete dados de desempenho e obtenha a recomendação de tamanho correto do Azure.
  4. Selecione sua conta do Azure e sua SQL Server de destino no Azure Machine em sua assinatura.
  5. Selecione o local dos backups de banco de dados. Os backups de banco de dados podem estar localizados em um compartilhamento de rede local ou em um contêiner de Armazenamento de Blobs do Azure.
  6. Crie um novo Serviço de Migração de Banco de Dados do Azure usando o assistente no Azure Data Studio. Se você já criou um Serviço de Migração de Banco de Dados do Azure usando o Azure Data Studio, poderá reutilizá-lo se desejar.
  7. Opcional: se os backups estiverem em um compartilhamento de rede local, baixe e instale o runtime de integração auto-hospedada em um computador que possa se conectar ao SQL Server de origem e o local que contém os arquivos de backup.
  8. Inicie a migração de banco de dados e monitore o progresso no Azure Data Studio. Você também pode monitorar o progresso no recurso Serviço de Migração de Banco de Dados do Azure no portal do Azure.
  9. Conclua a substituição.
    1. Interromper todas as transações de entrada para o banco de dados de origem.
    2. Faça alterações na configuração do aplicativo para apontar para o banco de dados de destino no SQL Server na máquina Virtual do Azure.
    3. Faça backups de log da parte final do banco de dados de origem no local de backup especificado.
    4. Verifique se todos os backups de banco de dados têm o status Restaurado na página de detalhes de monitoramento.
    5. Selecione Transição completa na página detalhes de monitoramento.

Backup e restauração

Para executar uma migração padrão usando backup e restauração:

  1. Configure a conectividade com SQL Server em máquinas virtuais do Azure com base em seus requisitos. Para obter mais informações, confira Conectar-se a uma Máquina Virtual do SQL Server no Azure (Gerenciador de Recursos).
  2. Pause ou pare qualquer aplicativo que esteja usando bancos de dados destinados à migração.
  3. Verifique se os bancos de dados de usuário estão inativos usando o modo de usuário único.
  4. Execute um backup de banco de dados completo para um caminho local.
  5. Copie seus arquivos de backup locais para sua VM usando um desktop remoto, o Azure Data Explorerou o Utilitário de linha de comando AzCopy. (Recomenda-se mais de 2 TB de backups).
  6. Restaure backups completos de banco de dados para o SQL Server em máquinas virtuais do Azure.

Desanexar e anexar de uma URL

Desanexar os banco de dados e arquivos de log e transferi-los para Armazenamento de Blobs do Azure. Em seguida, anexe o banco de dados da URL na sua VM do Azure. Use esse método se desejar que os arquivos de banco de dados físicos residam no armazenamento de Blobs, o que pode ser útil para bancos de dados muito grandes. Use as seguintes etapas gerais para migrar um banco de dados do usuário usando este método manual:

  1. Desanexe os arquivos de banco de dados da instância de banco de dados local.
  2. Copie os arquivos desanexados do banco de dados no Armazenamento de Blobs do Azure usando o utilitário de linha de comando AZCopy.
  3. Anexe os arquivos de banco de dados da URL do Azure para a instância do SQL Server na VM do Azure.

Converter para uma VM, carregar em uma URL e implantar como uma nova VM

Use esse método para migrar todos os sistemas e bancos de dados de usuário em uma instância local do SQL Server para uma máquina virtual do Azure. Use as seguintes etapas gerais para migrar de uma instância inteira do SQL Server usando este método manual:

  1. Converta máquinas físicas ou virtuais em VHDs do Hyper-V.
  2. Carregue arquivos de VHD no armazenamento do Azure usando o cmdlet Add-AzureVHD.
  3. Implante uma nova máquina virtual usando o VHD carregado.

Observação

Para migrar um aplicativo inteiro, use o Azure Site Recovery.

Envio de logs

O envio de logs replica os arquivos de log transacionais do local para uma instância do SQL Server em uma VM do Azure. Essa opção oferece o mínimo de tempo de inatividade durante o failover e tem menos sobrecarga de configuração do que configurar um grupo de disponibilidade Always On.

Para obter mais informações, confira Tabelas de envio de logs e procedimentos armazenados.

Enviar uma unidade de disco rígido

Use o método do Serviço de Importação/Exportação do Windows para transferir grandes quantidades de dados de arquivo para o armazenamento de Blob do Azure em situações em que o carregamento pela rede seja extremamente caro ou inviável. Com esse serviço, você envia um ou mais unidades de disco rígido contendo esses dados para um data center do Azure, em que os dados serão carregados na sua conta de armazenamento.

Migre objetos fora dos bancos de dados de usuário

Mais objetos SQL Server podem ser necessários para a operação direta dos bancos de dados de usuário após a migração.

A tabela a seguir fornece uma lista de componentes e métodos de migração recomendados que podem ser concluídos antes ou após a migração dos bancos de dados de usuário.

Recurso Componente Métodos de migração
Bancos de dados Modelar Verifique com o SQL Server Management Studio.
O banco de dados tempdb Planeje mover tempdb para o disco temporário da VM do Azure (SSD) a fim de obter o melhor desempenho. Escolha um tamanho de VM que tenha um SSD local suficiente para acomodar o tempdb.
Bancos de dados de usuário com FileStream Use os métodos de backup e restauração para a migração. O Assistente de Migração de Dados não dá suporte a bancos de dados com FileStream.
Segurança Logons do SQL Server e do Windows Use Assistente de Migração de Dados para migrar logons de usuário.
Funções do SQL Server Verifique com o SQL Server Management Studio.
Provedores criptográficos Recomenda-se converter para usar Azure Key Vault. Este procedimento usa o provedor de recursos de VM do SQL.
Objetos do servidor Dispositivos de backup Substitua pelo backup de banco de dados usando o backup do Azureou grave backups no armazenamento do Azure (SQL Server 2012 SP1 Cu2 +). Este procedimento usa o provedor de recursos de VM do SQL.
Servidores vinculados Verifique com o SQL Server Management Studio.
Gatilhos de Servidor Verifique com o SQL Server Management Studio.
Replicação Publicações locais Verifique com o SQL Server Management Studio.
Assinantes locais Verifique com o SQL Server Management Studio.
PolyBase PolyBase Verifique com o SQL Server Management Studio.
Gerenciamento Database Mail Verifique com o SQL Server Management Studio.
SQL Server Agent Trabalhos Verifique com o SQL Server Management Studio.
Alertas Verifique com o SQL Server Management Studio.
Operadores Verifique com o SQL Server Management Studio.
Proxies Verifique com o SQL Server Management Studio.
Sistema operacional Arquivos, compartilhamentos de arquivos Anote quaisquer outros arquivos ou compartilhamentos de arquivos usados pelos servidores SQL e replique-os no destino de máquinas virtuais do Azure.

Pós-migração

Depois de concluir com êxito a fase de migração, você precisará realizar uma série de tarefas pós-migração para garantir que tudo esteja funcionando da maneira mais estável e eficiente possível.

Corrigir aplicativos

Depois que os dados são migrados para o ambiente de destino, todos os aplicativos que antes consumiam a origem, precisam começar a consumir o destino. Em alguns casos, a realização dessa tarefa exige alterações nos aplicativos.

Aplique as correções recomendadas pelo Assistente de Migração de Dados aos bancos de dados de usuário. Você precisa gerar o script dessas correções para garantir a consistência e permitir a automação.

Executar testes

A abordagem de teste para a migração de banco de dados consiste nas seguintes atividades:

  1. Desenvolver testes de validação: para testar a migração do banco de dados, é necessário usar consultas SQL. Crie consultas de validação para execução nos bancos de dados de origem e de destino. As consultas de validação devem abranger o escopo que você definiu.
  2. Configurar ambiente de teste: o ambiente de teste deve conter uma cópia do banco de dados de origem e de destino. Lembre-se de isolar o ambiente de teste.
  3. Executar testes de validação: execute os testes de validação na origem e no destino e analise os resultados subsequentes.
  4. Executar testes de desempenho: execute testes de desempenho na origem e no destino, analise e compare os resultados.

Dica

Use o Assistente para experimentos de banco de dados para ajudá-lo a avaliar o desempenho do SQL Server de destino.

Otimizar

A fase pós-migração é crucial para reconciliar eventuais problemas com a precisão de dados, verificar a integridade e abordar problemas de desempenho com a carga de trabalho.

Para obter mais informações sobre esses problemas e as etapas para mitigá-los, consulte:

Próximas etapas

Para verificar a disponibilidade dos serviços aplicáveis ao SQL Server, confira o Centro de infraestrutura global do Azure.

Para obter uma matriz de serviços e ferramentas de terceiros e da Microsoft disponíveis para ajudar você com tarefas especiais e vários cenários de banco de dados e migração de dados, confira Serviços e ferramentas de migração de dados.

Para saber mais sobre o SQL do Azure, confira:

Para saber mais sobre a estrutura e o ciclo de adoção para migrações na nuvem, confira:

Para obter informações sobre licenciamento, confira:

Para avaliar a camada de acesso do aplicativo, confira Data Access Migration Toolkit (versão prévia).

Para obter informações sobre como executar testes de Camada de acesso a dados A/B, confira Visão geral do Assistente para Experimentos de Banco de Dados.