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ê aprenderá a descobrir, avaliar e migrar seus bancos de dados de usuário do SQL Server para uma instância do SQL Server em Máquinas Virtuais do Azure por ferramentas e técnicas baseadas em suas necessidades.

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

  • SQL Server em máquinas virtuais (VMs).
  • Amazon Web Services (AWS) EC2.
  • Amazon Relational Database Service (AWS RDS).
  • Mecanismo de computação (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, consulte Guias de migração do Banco de Dados do Azure.

Diagram that shows a migration process flow.

Pré-requisitos

A migração 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 migração pretendida.

Detetar

O Azure Migrate avalia a adequação da migração de computadores locais, executa dimensionamento baseado no desempenho e fornece estimativas de custo para execução local. Para planejar a migração, use o Azure Migrate para identificar fontes de dados existentes e detalhes sobre os recursos usados pelas instâncias do SQL Server. Esse processo envolve a verificação da rede para identificar todas as instâncias do SQL Server em sua organização com a versão e os recursos em uso.

Importante

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

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

Avaliação

Ao migrar do SQL Server local para o 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 de destino do SQL Server forem as mesmas. 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 de seus bancos de dados do SQL Server para identificar bloqueadores de migração (se houver) e a extensão de migração SQL do Azure para o Azure Data Studio faz isso antes da migração.

Nota

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

Avaliar bancos de dados de usuários

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

Para saber mais sobre as recomendações do Azure, consulte Obter recomendação do Azure de tamanho certo para o(s) seu(s) banco(s) de dados SQL Server local.

Importante

Para avaliar bancos de dados usando a extensão de migração 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 o Assistente de Migração de Dados para avaliar instâncias locais do SQL Server se você estiver atualizando para uma instância do 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 as candidaturas

Normalmente, uma camada de aplicativo acessa bancos de dados de usuários para persistir e modificar 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ários, use o Assistente de Migração de Dados para importar arquivos de rastreamento capturados ou arquivos do Data Access Migration Toolkit.

Avaliações à escala

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

Para relatórios resumidos em grandes propriedades, as avaliações do Assistente de Migração de Dados também podem ser consolidadas no Azure Migrate.

Atualizar bancos de dados com o 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ários sejam executados e funcionem corretamente após a atualização. O Assistente de Migração de Dados fornece detalhes sobre os objetos e recursos afetados para resolver cada problema. Certifique-se de resolver todas as alterações de quebra 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.

Atenção

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

Migrate

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 preferido.

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

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

Para executar uma migração mínima de tempo de inatividade usando o Azure Data Studio, siga as etapas de alto nível abaixo. Para obter um tutorial passo a passo detalhado, consulte Migrar o SQL Server para o 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 SQL do Azure.
  2. Inicie o assistente Migrar para o Azure SQL na extensão no Azure Data Studio.
  3. Selecione bancos de dados para avaliação e exiba a prontidão ou os problemas de migração (se houver). Além disso, colete dados de desempenho e obtenha a recomendação do Azure do tamanho certo.
  4. Selecione sua conta do Azure e seu SQL Server de destino na Máquina do Azure em sua assinatura.
  5. Selecione o local dos backups do banco de dados. Seus backups de banco de dados podem estar localizados em um compartilhamento de rede local ou em um contêiner de Armazenamento de Blob 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ê tiver criado anteriormente um Serviço de Migração de Banco de Dados do Azure usando o Azure Data Studio, poderá reutilizar o mesmo, se desejar.
  7. Opcional: Se os backups estiverem em um compartilhamento de rede local, baixe e instale o tempo de execução de integração auto-hospedado em uma máquina que possa se conectar ao SQL Server de origem e ao local que contém os arquivos de backup.
  8. Inicie a migração do 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 o corte.
    1. Interrompa todas as transações direcionadas para a base 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 todos os backups de log final para o 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 Concluir transferência na página de detalhes de monitorização.

Cópia de segurança e restauro

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

  1. Configure a conectividade com o SQL Server em Máquinas Virtuais do Azure com base nos seus requisitos. Para obter mais informações, consulte Conectar-se a uma máquina virtual do SQL Server no Azure (Gerenciador de Recursos).
  2. Pause ou pare todos os aplicativos que estão usando bancos de dados destinados à migração.
  3. Verifique se os bancos de dados de usuários estão inativos usando o modo de usuário único.
  4. Execute um backup completo do banco de dados em um local local.
  5. Copie seus arquivos de backup locais para sua VM usando uma área de trabalho remota, o Azure Data Explorer ou o utilitário de linha de comando AzCopy. (Recomendam-se backups superiores a 2 TB.)
  6. Restaure backups completos de banco de dados para o SQL Server em Máquinas Virtuais do Azure.

Desanexar e anexar de um URL

Desanexe seu banco de dados e arquivos de log e transfira-os para o armazenamento de Blob do Azure. Em seguida, anexe o banco de dados da URL em sua VM do Azure. Use esse método se desejar que os arquivos de banco de dados físicos residam no armazenamento de Blob, o que pode ser útil para bancos de dados muito grandes. Use as seguintes etapas gerais para migrar um banco de dados de 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 de banco de dados desanexados para o armazenamento de Blob do Azure usando o utilitário de linha de comando AZCopy.
  3. Anexe os arquivos de banco de dados da URL do Azure à instância do SQL Server na VM do Azure.

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

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

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

Nota

Para migrar um aplicativo inteiro, considere usar o Azure Site Recovery.

Envio de registos

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

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

Enviar um disco rígido

Use o método 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 é proibitivamente caro ou inviável. Com esse serviço, você envia um ou mais discos rígidos contendo esses dados para um data center do Azure onde seus dados serão carregados para sua conta de armazenamento.

Migrar objetos fora dos bancos de dados de usuários

Mais objetos do SQL Server podem ser necessários para a operação perfeita de seus 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 depois da migração de seus bancos de dados de usuários.

Funcionalidade Componente Métodos de migração
Bases de dados Modelo Script com o SQL Server Management Studio.
A tempdb base de dados Planeje migrar tempdb para o disco temporário (SSD) da VM do Azure para obter o melhor desempenho. Certifique-se de escolher um tamanho de VM que tenha um SSD local suficiente para acomodar o .tempdb
Bancos de dados de usuários com FileStream Use os métodos de backup e restauração para migração. O Assistente de Migração de Dados não oferece suporte a bancos de dados com FileStream.
Segurança Logons do SQL Server e do Windows Use o Assistente de Migração de Dados para migrar logins de usuários.
Funções do SQL Server Script com o SQL Server Management Studio.
Provedores criptográficos Recomende a conversão para usar o Azure Key Vault. Este procedimento usa o provedor de recursos SQL VM.
Objetos do servidor Dispositivos de backup Substitua pelo backup de banco de dados usando o Backup do Azure ou grave backups no Armazenamento do Azure (SQL Server 2012 SP1 CU2 +). Este procedimento usa o provedor de recursos SQL VM.
Servidores ligados Script com o SQL Server Management Studio.
Gatilhos do servidor Script com o SQL Server Management Studio.
Replicação Publicações locais Script com o SQL Server Management Studio.
Assinantes locais Script com o SQL Server Management Studio.
PolyBase PolyBase Script com o SQL Server Management Studio.
Gestão Correio de base de dados Script com o SQL Server Management Studio.
Agente do SQL Server Tarefas Script com o SQL Server Management Studio.
Alertas Script com o SQL Server Management Studio.
Operadores Script com o SQL Server Management Studio.
Proxies Script com o SQL Server Management Studio.
Sistema Operativo Ficheiros, partilhas de ficheiros Anote quaisquer outros arquivos ou compartilhamentos de arquivos usados por seus servidores SQL e replicados no destino das Máquinas Virtuais do Azure.

Pós-migração

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

Remediar aplicações

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

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

Realizar 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, você precisa usar consultas SQL. Crie consultas de validação para serem executadas nos bancos de dados de origem e de destino. Suas consultas de validação devem cobrir o escopo que você definiu.
  2. Configurar um ambiente de teste: O ambiente de teste deve conter uma cópia do banco de dados de origem e do banco de dados de destino. Certifique-se de isolar o ambiente de teste.
  3. Executar testes de validação: execute testes de validação na origem e no destino e, em seguida, analise os resultados.
  4. Executar testes de desempenho: execute testes de desempenho na origem e no destino e, em seguida, analise e compare os resultados.

Gorjeta

Use o Assistente de Experimentação de Banco de Dados para ajudar a avaliar o desempenho do SQL Server de destino.

Otimização

A fase pós-migração é crucial para conciliar quaisquer problemas de precisão de dados, verificar a integridade e resolver possíveis problemas de desempenho com a carga de trabalho.

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

Próximos passos

Para verificar a disponibilidade de serviços que se aplicam ao SQL Server, consulte o centro de infraestrutura global do Azure.

Para obter uma matriz de serviços e ferramentas da Microsoft e de terceiros disponíveis para ajudá-lo com vários cenários de migração de banco de dados e dados e tarefas especializadas, consulte Serviços e ferramentas para migração de dados.

Para saber mais sobre o Azure SQL, consulte:

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

Para obter informações sobre licenciamento, consulte:

Para avaliar a camada de acesso ao aplicativo, consulte Data Access Migration Toolkit (visualização).

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