Guia de migração: SQL Server para o Banco de Dados SQL do Azure

Aplica-se a:SQL ServerBanco de Dados SQL do Azure

Neste guia, você aprende como migrar a instância do SQL Server para o Banco de Dados SQL do Azure.

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

  • SQL Server em Máquinas Virtuais
  • Amazon EC2 (Nuvem de Computação Elástica)
  • Amazon RDS (Serviço de Banco de Dados Relacional) para SQL Server
  • Google Compute Engine
  • SQL de Nuvem para SQL Server – GCP (Google Cloud Platform)

Para obter mais informações de migração, confira visão geral da migração. Para obter outros guias de migração, confira Migração de banco de dados.

Diagram of migration process flow.

Pré-requisitos

Para migrar o SQL Server para o Banco de Dados SQL do Azure, verifique se você:

Pré-migração

Depois de verificar se o ambiente de origem tem suporte, comece com a fase de pré-migração. Descubra todas as fontes de dados existentes, avalie a viabilidade da migração e identifique problemas de bloqueio que possam impedir a Migração na Nuvem do Azure.

Descobrir

Na fase de descoberta, examine a rede para identificar todas as Instâncias do SQL Server e os recursos usados pela sua organização.

Use Migrações para Azure para avaliar a adequação da migração de servidores locais, executar o dimensionamento com base no desempenho e fornecer estimativas de custo para executá-las no Azure.

Como alternativa, use oKit de ferramentas de avaliação e planejamento da Microsoft (o “MAP Toolkit”) para avaliar a infraestrutura de TI atual. O kit de ferramentas fornece uma poderosa ferramenta de inventário, avaliação e relatório para simplificar o processo de planejamento de migração.

Para obter mais informações sobre as ferramentas disponíveis para usar na fase de descoberta, confira Serviços e ferramentas disponíveis para cenários de migração de dados.

Avaliar

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.

Depois que as fontes de dados foram descobertas, avalie qualquer banco de dados SQL Server no local que possa ser migrado para o Banco de Dados SQL do Azure para identificar bloqueadores de migração ou problemas de compatibilidade.

A extensão de migração de SQL do Azure para Azure Data Studio fornece uma experiência baseada em assistente contínuo para avaliar, obter recomendações do Azure do tamanho certo e migrar seu banco de dados do SQL Server local para 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 Instância Gerenciada de SQL do Azure de tamanho correto para atender às necessidades de desempenho da carga de trabalho (com o menor preço).

Você pode usar a extensão da Migração do SQL do Azure para o Azure Data Studio para avaliar os bancos de dados a serem obtidos:

Para avaliar o ambiente usando a extensão Migração do SQL do Azure, siga estas etapas:

  1. Abra a extensão Migração do SQL do Azure para Azure Data Studio.
  2. Conecte-se à instância do SQL Server de origem
  3. Clique no botão Migrar para SQL do Azure, no assistente de Migração de SQL do Azure no Azure Data Studio
  4. Selecione bancos de dados para avaliação e clique em avançar
  5. Selecione seu destino do SQL do Azure, nesse caso, o Banco de Dados SQL do Azure (versão prévia)
  6. Clique em Exibir/Selecionar para examinar o relatório de avaliação
  7. Procure problemas de bloqueio de migração e paridade de recursos. O relatório de avaliação também pode ser exportado para um arquivo que pode ser compartilhado com outras equipes ou pessoal da sua organização.
  8. Determine o nível de compatibilidade do banco de dados que minimiza os esforços após a migração.

Para obter uma recomendação do Azure usando a extensão Migração do SQL do Azure, siga estas etapas:

  1. Abra a extensão Migração do SQL do Azure para Azure Data Studio.
  2. Conecte-se à instância do SQL Server de origem
  3. Clique no botão Migrar para SQL do Azure, no assistente de Migração de SQL do Azure no Azure Data Studio
  4. Selecione bancos de dados para avaliação e clique em avançar
  5. Selecione seu destino do SQL do Azure, nesse caso, o Banco de Dados SQL do Azure (versão prévia)
  6. Navegue até as seções de recomendações do Azure e clique em Obter recomendação do Azure
  7. Selecione Coletar dados de desempenho agora. Selecione uma pasta no computador local para armazenar os logs de desempenho e selecione Iniciar.
  8. Após 10 minutos, o Azure Data Studio indica que uma recomendação está disponível para o Banco de Dados SQL do Azure.
  9. Verifique o cartão Banco de Dados SQL do Azure, no painel de destino do SQL do Azure para examinar a recomendação de SKU do Banco de Dados SQL do Azure

Para obter mais informações, confira Tutorial: Migrar o SQL Server para um Banco de Dados SQL do Azure (versão prévia) offline no Azure Data Studio.

Se a avaliação encontrar vários bloqueadores que confirmam que o banco de dados não está pronto para uma migração de Banco de Dados SQL do Azure, considere como opção:

Avaliações e análises dimensionadas

A extensão Migração do SQL do Azure para Azure Data Studio e as Migrações para Azure dão suporte à execução de avaliações dimensionadas e à consolidação dos relatórios de avaliação para análise.

Se você tiver vários servidores e bancos de dados que precisam ser avaliados e analisados em escala para fornecer uma visão mais ampla do estado dos dados, confira os seguintes links para saber mais:

Importante

A execução de avaliações em escala para vários bancos de dados, especialmente os grandes, também pode ser automatizada usando o Utilitário de Linha de Comando AMD e carregada para Migrações para Azure para análise adicional e preparação de destino.

Implantar em uma instância gerenciada de tamanho ideal

Você pode usar a extensão de migração SQL do Azure para o Azure Data Studio para obter a recomendação de Instância Gerenciada de SQL do Azure de tamanho correto. A extensão coleta dados de desempenho de sua instância de SQL Server de origem para fornecer recomendações do Azure de tamanho correto que atendam às necessidades de desempenho da carga de trabalho com custo mínimo. Para saber mais, confira Obter recomendação do Azure de tamanho correto para seus bancos de dados locais do SQL Server

Com base nas informações das etapas de descoberta e avaliação, crie um Banco de Dados SQL do Azure com o tamanho adequado. Você pode fazer isso usando o Início Rápido: Criar um banco de dados individual – Banco de Dados SQL do Azure.

Migrar

Depois de concluir as tarefas associadas a fase de pré-migração, você está pronto para executar o esquema e a migração de dados.

Migre os dados usando o método de migração escolhido.

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

Para executar uma migração offline usando o Azure Data Studio, siga as etapas de alto nível abaixo. Para obter um tutorial passo a passo detalhado, confira Tutorial: Migrar SQL Server para o Banco de Dados SQL do Azure (versão prévia) offline no 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 de migração 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 o Banco de Dados SQL do Azure de destino na sua assinatura.
  5. Selecionar a lista de tabelas a serem migradas.
  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 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 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.

Sincronização de dados e substituição

Ao usar opções de migração que replicam/sincronizam alterações de dados de origem para o destino continuamente, os dados de origem e o esquema podem ser alterados e dessincronizar do destino. Durante a sincronização de dados, certifique-se de que todas as alterações na origem sejam capturadas e aplicadas ao destino durante o processo de migração.

Depois de confirmar que os dados são iguais tanto na origem quanto no destino, você pode substituir da origem para o ambiente de destino. É importante planejar o processo de substituição com equipes da empresa/aplicativo para garantir que a interrupção mínima durante a substituição não afete a continuidade dos negócios.

Importante

Para obter detalhes sobre as etapas específicas associadas à execução de uma substituição como parte das migrações usando DMS, confira Executar a substituição de migração.

Migrar usando a replicação transacional

Quando não houver a possibilidade de remover seu banco de dados do SQL Server da produção durante a migração, você poderá usar a replicação transacional do SQL Server como sua solução de migração. Para usar esse método, o banco de dados de origem deve atender a requisitos para replicação transacional e ser compatível com o banco de dados SQL do Azure. Para obter mais informações sobre a replicação do SQL com grupos de disponibilidade, confira Configurar a replicação para grupos de disponibilidade AlwaysOn (SQL Server).

Para usar esta solução, você pode configurar o banco de dados no Banco de Dados SQL do Azure como um assinante da instância do SQL Server que você deseja migrar. O distribuidor de replicação transacional sincroniza os dados do banco de dados a ser sincronizado (o editor), enquanto as novas transações continuam.

Com a replicação transacional, todas as alterações de dados ou esquema aparecem no seu banco de dados no Banco de Dados SQL do Azure. Quando a sincronização for concluída e você estiver pronto para migrar, altere a cadeia de conexão de seus aplicativos para apontá-los para seu banco de dados. Assim que a replicação transacional realizar todas as alterações restantes no banco de dados de origem e todos os aplicativos apontarem para o Banco de Dados SQL do Azure, ela poderá ser desinstalada. O banco de dados no Banco de Dados SQL do Azure agora é o sistema de produção.

Dica

Você também pode usar a replicação transacional para migrar um subconjunto do banco de dados de origem. A publicação que você replica no Banco de Dados SQL do Azure pode ser limitada a um subconjunto de tabelas no banco de dados que está sendo replicado. Para cada tabela sendo replicada, você poderá limitar os dados a um subconjunto de linhas e/ou um subconjunto de colunas.

Fluxo de trabalho de replicação de transação

Importante

Você deve usar a versão mais recente do SQL Server Management Studio a fim de permanecer sincronizado com as atualizações no Azure e no Banco de Dados SQL. Versões anteriores do SQL Server Management Studio não podem configurar o Banco de Dados SQL como um assinante. Obter a versão mais recente do SQL Server Management Studio.

Etapa Método
Configurar a distribuição SQL Server Management Studio | Transact-SQL
Criar publicação SQL Server Management Studio | Transact-SQL
Criar assinatura SQL Server Management Studio | Transact-SQL

Algumas dicas e diferenças da migração para o Banco de Dados SQL

  • Usar um distribuidor local
    • Fazer isso causa um impacto de desempenho no servidor.
    • Se o impacto de desempenho for inaceitável, você poderá usar outro servidor, mas isso adicionará complexidade ao gerenciamento e à administração.
  • Ao selecionar uma pasta de instantâneo, verifique se a pasta selecionada é grande o suficiente para manter um BCP de cada tabela que você deseja replicar.
  • A criação de instantâneos bloqueia as tabelas associadas até ser concluída. Portanto, agende o instantâneo adequadamente.
  • Há suporte apenas para assinaturas push no Banco de Dados SQL do Azure. Você só pode adicionar assinantes do banco de dados de origem.

Recomendações de migração

Para acelerar a migração para o Banco de Dados SQL do Azure, você deve considerar as seguintes recomendações:

Contenção de recursos Recomendação
Fonte (normalmente no local) O gargalo principal durante a migração da origem é a E/S e a latência do arquivo de dados, que precisam ser monitorados cuidadosamente. Com base na E/S e na latência do arquivo de dados, e dependendo se é uma máquina virtual ou um servidor físico, talvez você precise falar com o seu administrador de armazenamento e explorar opções para mitigar o gargalo.
Destino (Banco de Dados SQL do Azure) O maior fator de limitação é a taxa de geração de log e a latência no seu arquivo de log de banco de dados. Com o Banco de Dados SQL do Azure, você consegue uma taxa máxima de geração de logs de 96 MB/s. Para acelerar a migração, escale verticalmente o banco de dados SQL do Azure de destino para Comercialmente Crítico Gen5 8 vCore para obter a taxa máxima de geração de logs de 96 MB/s, que também oferece baixa latência para arquivos de log. A camada de serviço Hiperescala fornece a taxa de log de 100 MB/s, independentemente do nível de serviço escolhido.
Rede A largura de banda da rede necessária é igual à taxa máxima de ingestão de logs 96 MB/s (768 MB/s) Dependendo da conectividade de rede do data center local para o Azure, verifique a largura de banda da rede (normalmente Azure ExpressRoute) para acomodar a taxa máxima de ingestão de logs.

Você também pode considerar essas recomendações para obter o melhor desempenho durante o processo de migração.

  • Escolha a camada de serviço e tamanho da computação mais altos que seu orçamento permitir para maximizar o desempenho de transferência. Você pode reduzir verticalmente após a migração para economizar dinheiro.
  • Se você usar arquivos BACPAC, minimize a distância entre o arquivo BACPAC e o data center de destino.
  • Desabilite a atualização automática e crie estatísticas automaticamente durante a migração.
  • Índices e tabelas de partição.
  • Descarte exibições indexadas e as recrie após a conclusão.
  • Remova dados históricos raramente consultados para outro banco de dados e migre esses dados históricos para um banco de dados no Banco de Dados SQL do Azure. Em seguida, você pode consultar esses dados históricos usando consultas elásticas.

Pós-migração

Depois de concluir com êxito a fase de migração, você passará pelas tarefas de pós-migração a seguir para garantir que tudo esteja funcionando de maneira estável e eficiente.

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

Atualizar estatísticas

Atualize as estatísticas com uma verificação completa após a migração ser concluída.

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, isso exigirá alterações nos aplicativos.

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, você precisa usar consultas SQL. Você deve criar as consultas de validação para executar nos bancos de dados de origem e de destino. Suas 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 do banco de dados 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, em seguida, analise os resultados.
  4. Executar testes de desempenho: Execute o teste de desempenho na origem e no destino e, em seguida, analise e compare os resultados.

Usar recursos avançados

Aproveite os recursos avançados baseados em nuvem oferecidos pelo Banco de Dados SQL, como alta disponibilidade interna, detecção de ameaças e monitoramento e ajuste da carga de trabalho.

Alguns recursos do SQL Server só ficam disponíveis quando o nível de compatibilidade do banco de dados é alterado para o nível de compatibilidade mais recente.

Para saber mais, confira Gerenciamento do Banco de Dados SQL do Azure após a migração.

Resolver problemas de compatibilidade de migração do banco de dados

Você pode encontrar uma grande variedade de problemas de compatibilidade, dependendo da versão do SQL Server no banco de dados de origem e da complexidade do banco de dados que você está migrando. Versões anteriores do SQL Server têm mais problemas de compatibilidade. Use os recursos a seguir, além de uma pesquisa direcionada na Internet, usando o mecanismo de pesquisa de sua preferência:

Importante

A Instância Gerenciada de SQL do Azure permite que você migre uma instância existente do SQL Server e seus bancos de dados com o mínimo ou sem problemas de compatibilidade. Confira O que é Instância Gerenciada de SQL do Azure?

Próximas etapas

Confira Serviços e ferramentas para migração de dados para obter uma matriz de serviços e ferramentas da Microsoft e de terceiros que estão disponíveis para ajudar você com vários cenários de migração de banco de dados e de aplicativos, bem como tarefas de especialidade.

Para saber mais sobre a extensão Migração do SQL do Azure, confira:

Para saber mais sobre as Migrações para Azure, confira:

Para saber mais sobre o Banco de Dados SQL, confira:

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

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

Para ver detalhes de como executar testes A/B na Camada de Acesso a Dados, confira Assistente para Experimentos de Banco de Dados.