Visão geral da migração: SQL Server para o Banco de Dados SQL do Azure

Aplica-se a:Banco de Dados SQL do Azure

Conheça as opções e as considerações para migrar seus bancos de dados do SQL Server para o Banco de Dados SQL do Azure.

Você pode migrar bancos de dados do SQL Server existentes em execução 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 outros guias de migração, confira Migração de banco de dados.

Visão geral

O Banco de Dados SQL do Azure é uma opção de destino recomendada para cargas de trabalho do SQL Server que exigem uma PaaS (plataforma como serviço) totalmente gerenciada. O Banco de Dados SQL cuida da maioria das funções de gerenciamento de banco de dados. Ele também tem alta disponibilidade interna, processamento inteligente de consultas, escalabilidade e funcionalidades de desempenho para se adaptar a muitos tipos de aplicativos.

O Banco de Dados SQL fornece flexibilidade com vários modelos de implantação e camadas de serviço que atendem a diferentes tipos de aplicativos ou cargas de trabalho.

Um dos principais benefícios da migração para o Banco de Dados SQL é que você pode modernizar seu aplicativo usando as funcionalidades de PaaS. Posteriormente, você pode eliminar qualquer dependência em componentes técnicos com escopo no nível da instância, como os trabalhos do SQL Agent.

Também pode reduzir custos com o Benefício Híbrido do Azure para SQL Server a fim de migrar suas licenças locais do SQL Server para o Banco de Dados SQL do Azure. Essa opção estará disponível se você escolher o modelo de compra baseado em vCore.

Certifique-se de examinar os recursos do mecanismo de banco de dados do SQL Server disponíveis no Banco de Dados SQL do Azure para validar a compatibilidade do seu destino de migração.

Considerações

Os principais fatores a serem considerados quando você estiver avaliando as opções de migração são:

  • Número de servidores e bancos de dados
  • Tamanho dos bancos de dados
  • Tempo de inatividade de negócios aceitável durante o processo de migração

As opções de migração listadas neste guia levam em conta esses fatores. Para a migração de dados lógicos para o Banco de Dados SQL do Azure, o tempo de migração pode depender do número de objetos em um banco de dados e do tamanho dele.

Há ferramentas disponíveis para várias cargas de trabalho e preferências do usuário. Algumas ferramentas podem ser usadas para executar uma migração rápida de um banco de dados individual por meio de uma ferramenta baseada em interface do usuário. Outras ferramentas podem automatizar a migração de vários bancos de dados para lidar com migrações em escala.

Escolher um destino apropriado

Considere as diretrizes gerais para ajudar você a escolher o modelo de implantação e a camada de serviço ideais do Banco de Dados SQL do Azure. Você pode escolher recursos de computação e armazenamento durante a implantação e alterá-los posteriormente usando o portal do Azure sem gerar tempo de inatividade para seu aplicativo.

Modelos de implantação: entenda o padrão de uso e a carga de trabalho do aplicativo para decidir entre um banco de dados individual ou um pool elástico.

  • Um banco de dados individual representa um banco de dados totalmente gerenciado que é adequado para a maioria dos aplicativos e microsserviços de nuvem modernos.
  • Um pool elástico é uma coleção de bancos de dados individuais com um conjunto compartilhado de recursos, como CPU ou memória. Ele é adequado para combinar bancos de dados em um pool com padrões de uso previsíveis que podem compartilhar efetivamente o mesmo conjunto de recursos.

Modelos de compra: escolha entre os modelos de compra baseados em vCore, DTU (unidade de transação do banco de dados) ou sem servidor.

  • O modelo baseado em vCore permite que você escolha o número de vCores para o Banco de Dados SQL do Azure, sendo, portanto, a opção mais fácil para a conversão do SQL Server local. Essa é a única opção que dá suporte ao salvamento de custos de licença com o Benefício Híbrido do Azure.
  • O modelo de DTU elimina os recursos de computação, memória e E/S subjacentes para fornecer uma DTU combinada.
  • O modelo sem servidor destina-se a cargas de trabalho que exigem dimensionamento automático sob demanda com recursos de computação cobrados por segundo de uso. A camada de computação sem servidor pausa os bancos de dados automaticamente durante períodos inativos (quando apenas o armazenamento é cobrado). Ela retoma automaticamente os bancos de dados quando a atividade retorna.

Camadas de serviço: escolha entre três camadas de serviço projetadas para diferentes tipos de aplicativos.

  • A camada de serviço Uso Geral/Standard oferece uma opção balanceada e orientada por orçamento com armazenamento e computação adequados para fornecer aplicativos nas camadas intermediária e inferior. A redundância é incorporada na camada de armazenamento para recuperação de falhas. Ela foi projetada para a maioria das cargas de trabalho de banco de dados.
  • A camada de serviço Comercialmente Crítico/Premium destina-se a aplicativos de alta camada que exigem altas taxas de transação, E/S de baixa latência e um alto nível de resiliência. Há réplicas secundárias disponíveis para failover e para descarregar cargas de trabalho de leitura.
  • A camada de serviço de Hiperescala destina-se a todos os clientes que exigem maior desempenho e disponibilidade, backup e restauração rápidos e/ou escalabilidade de computação e armazenamento rápidos. Isso inclui clientes que estão migrando para a nuvem a fim de modernizar seus aplicativos e clientes que já estão usando outras camadas de serviço no Banco de Dados SQL do Azure. A camada de serviço de Hiperescala dá suporte a uma ampla variedade de cargas de trabalho de banco de dados, desde OLTP puro até análise pura. Ela é otimizada para cargas de trabalho de OLTP e HTAP (transações híbridas e processamento analítico).

Importante

A taxa do log de transações é controlada no Banco de Dados SQL do Azure para limitar altas taxas de ingestão. Dessa forma, durante a migração, talvez seja necessário escalar os recursos do banco de dados de destino (vCores ou DTUs) para aliviar a pressão sobre a CPU ou a taxa de transferência. Escolha o banco de dados de destino de tamanho adequado, mas planeje a escala vertical de recursos para a migração, se necessário.

Alternativa à VM do SQL Server

Sua empresa pode ter requisitos que façam do SQL Server em Máquinas Virtuais do Azure um destino mais adequado do que o Banco de Dados SQL do Azure.

Caso uma das seguintes condições se aplique à sua empresa, considere a possibilidade de migração para uma VM (máquina virtual) do SQL Server:

  • Você precisa ter acesso direto ao sistema operacional ou ao sistema de arquivos, por exemplo, para instalar agentes personalizados ou de terceiros na mesma máquina virtual com o SQL Server.
  • Você tem uma dependência estrita de recursos ainda sem suporte, como transações entre instâncias, PolyBase e FileStream/FileTable.
  • Você precisa permanecer em uma versão específica do SQL Server (2012, por exemplo).
  • Seus requisitos de computação são muito menores do que o oferecido pela instância gerenciada (um vCore, por exemplo) e a consolidação de banco de dados não é uma opção aceitável.

Ferramentas de migração

Recomendamos as seguintes ferramentas de migração:

Tecnologia Descrição
Migrações para Azure Este serviço do Azure ajuda você a descobrir e avaliar seu acervo de dados SQL em escala no VMware. Ele fornece recomendações de implantação, dimensionamento de destino e estimativas mensais do SQL do Azure.
Extensão de Migração de SQL do Azure para Azure Data Studio Da plataforma serviço Migração do Banco de Dados do Azure, a extensão Migração do SQL do Azure para Azure Data Studio ajuda você a avaliar os requisitos de banco de dados para entender a sua preparação para migração, obter as recomendações de SKU de tamanho adequado para recursos do Azure e migrar seu banco de dados SQL Server para o Azure. Você pode migrar bancos de dados individuais ou em escala usando o PowerShell e a CLI do Azure.

A seguinte tabela lista as ferramentas de migração alternativas:

Tecnologia Descrição
Replicação transacional Replique dados de tabelas de banco de dados de origem do SQL Server para o Banco de Dados SQL do Azure fornecendo uma opção de migração de tipo editor/assinante, mantendo a consistência transacional. As alterações de dados incrementais são propagadas para os assinantes à medida que ocorrem nos publicadores.
Serviço de Importação/Exportação/BACPAC Um BACPAC é um arquivo do Windows com uma extensão .bacpac que encapsula o esquema e os dados de um banco de dados. Use o BACPAC para exportar dados de uma fonte do SQL Server e importar os dados para o Banco de Dados SQL do Azure. Um arquivo BACPAC pode ser importado para um novo banco de dados SQL por meio do portal do Azure.

Para aprimorar a escala e o desempenho com tamanhos de bancos de dados grandes ou com muitos bancos de dados, considere o uso da ferramenta de linha de comando SqlPackage para exportar e importar bancos de dados.
Cópia em massa A ferramenta bcp (programa de cópia em massa) copia em massa os dados de uma instância do SQL Server para um arquivo de dados. Use a ferramenta para exportar os dados da origem e importar o arquivo de dados para o banco de dados SQL de destino.

Para operações de cópia em massa de alta velocidade para mover dados para o Banco de Dados SQL do Azure, use a ferramenta de Cópia em Massa Inteligente para maximizar a velocidade de transferência aproveitando as tarefas de cópia paralelas.
Azure Data Factory A atividade Copy do Azure Data Factory migra os dados de bancos de dados do SQL Server de origem para o Banco de Dados SQL do Azure usando conectores internos e um runtime de integração.

O Data Factory dá suporte a uma ampla variedade de conectores para mover dados de fontes do SQL Server para o Banco de Dados SQL do Azure.
Sincronização de Dados SQL A Sincronização de Dados SQL é um serviço criado com base no Banco de Dados SQL do Azure que permite sincronizar dados selecionados bidirecionalmente em vários bancos de dados, localmente e na nuvem.
A Sincronização de Dados é útil em casos em que os dados precisam ser atualizados em vários bancos de dados no Banco de Dados SQL do Azure ou no SQL Server.

Comparar opções de migração

Compare as opções de migração para escolher o caminho apropriado às suas necessidades empresariais.

A seguinte tabela compara as opções de migração recomendadas:

Opção de migração Quando usar Considerações
Migrações para Azure – Descoberta e avaliação de bancos de dados individuais ou em escala de diferentes ambientes. – Todas as etapas de pré-migração, como descoberta, avaliações e dimensionamento correto de recursos locais, estão incluídas em infraestrutura, dados e aplicativos.
Extensão de Migração de SQL do Azure para Azure Data Studio – Migra bancos de dados individuais ou em escala.
– Somente modo offline.

Fontes com suporte:
– SQL Server (2008 em diante) localmente ou nas Máquinas Virtuais do Azure
– SQL Server no Amazon EC2
– Amazon RDS para SQL Server
– SQL Server no Google Compute Engine
– As migrações em escala podem ser automatizadas por meio do PowerShell ou da CLI do Azure.

– O tempo de conclusão da migração depende do tamanho do banco de dados e do número de objetos nele.

– O Azure Data Studio é necessário quando você não está usando o PowerShell ou a CLI do Azure.

A seguinte tabela compara as opções de migração alternativas:

Método ou tecnologia Quando usar Considerações
Replicação transacional – Faz migrações contínuas publicando alterações de tabelas de banco de dados de origem para tabelas de Banco de Dados SQL de destino.
– Faz migrações completas ou parciais de banco de dados de tabelas selecionadas (subconjunto de um banco de dados).

Fontes com suporte:
- SQL Server (2016 a 2019) com algumas limitações
– AWS EC2
– VM do SQL Server GCP Compute
– A instalação é relativamente complexa comparado a outras opções de migração.
– Fornece uma opção de replicação contínua para migrar os dados (sem colocar os bancos de dados offline).
– A replicação transacional tem limitações a serem consideradas quando você está configurando o editor na instância do SQL Server de origem. Confira Limitações na publicação de objetos para saber mais.
– É possível monitorar a atividade de replicação.
Serviço de Importação/Exportação/BACPAC – Migra bancos de dados individuais de aplicativos de linha de negócios.
– Adequado para bancos de dados menores.
– Não exige uma ferramenta nem um serviço de migração separado.

Fontes com suporte:
– SQL Server (2005 a 2019) local ou VM do Azure
– AWS EC2
– AWS RDS
– VM do SQL Server GCP Compute
– Exige algum tempo de inatividade porque os dados precisam ser exportados na origem e importados no destino.
– Os formatos de arquivo e os tipos de dados usados na exportação ou na importação precisam ser consistentes com os esquemas de tabela para evitar erros de truncamento ou de tipos incompatíveis de dados.
– O tempo necessário para exportar um banco de dados com muitos objetos pode ser significativamente maior.
Cópia em massa – Faz migrações completas ou parciais de dados.
– Pode acomodar algum tempo de inatividade.

Fontes com suporte:
– SQL Server (2005 a 2019) local ou VM do Azure
– AWS EC2
– AWS RDS
– VM do SQL Server GCP Compute
– Exige algum tempo de inatividade para exportar os dados da origem e importá-los para o destino.
– Os formatos de arquivo e os tipos de dados usados na exportação ou na importação precisam ser consistentes com os esquemas de tabela.
Azure Data Factory – Migra e/ou transforma dados dos bancos de dados do SQL Server de origem.
– A mesclagem de dados de várias fontes de dados para o Banco de Dados SQL do Azure normalmente se destina a cargas de trabalho de BI (business intelligence).
– Exige a criação de pipelines de movimentação de dados no Data Factory para mover dados da origem para o destino.
- Custo é uma consideração importante e baseia-se em fatores como gatilhos de pipeline, execuções de atividade e duração da movimentação de dados.
Sincronização de Dados SQL – Sincroniza dados entre bancos de dados de origem e de destino.
– Adequado para executar a sincronização contínua entre o Banco de Dados SQL do Azure e o SQL Server local em um fluxo bidirecional.
– O Banco de Dados SQL do Azure precisa ser o banco de dados hub para sincronização com um banco de dados local do SQL Server como um banco de dados membro.
– Em comparação com a replicação transacional, a Sincronização de Dados SQL dá suporte à sincronização de dados bidirecional entre o local e o Banco de Dados SQL do Azure.
– Pode ter um maior impacto no desempenho, dependendo da carga de trabalho.

Interoperabilidade de recursos

Há mais considerações quando você está migrando cargas de trabalho que dependem de outros recursos do SQL Server.

SQL Server Integration Services

Migre pacotes SSIS (SQL Server Integration Services) para o Azure reimplantando-os no runtime do Azure-SSIS no Azure Data Factory. O Azure Data Factory dá suporte à migração de pacotes SSIS fornecendo um runtime criado para executar pacotes SSIS no Azure. Como alternativa, você pode regenerar a lógica ETL do SSIS (extração, transformação e carregamento) nativamente no Azure Data Factory usando fluxos de dados.

SQL Server Reporting Services

Migre relatórios do SSRS (SQL Server Reporting Services) para relatórios paginados no Power BI. Use aFerramenta de Migração RDL para ajudar a preparar e migrar seus relatórios. A Microsoft desenvolveu essa ferramenta para ajudar os clientes a migrar relatórios de linguagem RDL dos servidores do SSRS para o Power BI. Ela está disponível no GitHub e é acompanhada por explicação de ponta a ponta do cenário de migração.

Alta disponibilidade

A configuração manual dos recursos de alta disponibilidade do SQL Server como instâncias de cluster de failover do Always On e grupos de disponibilidade Always On se torna obsoleta no banco de dados SQL de destino. A arquitetura de alta disponibilidade já está incorporada às camadas de serviço Uso Geral (modelo de disponibilidade Standard) e Comercialmente Crítico (modelo de disponibilidade Premium) para o Banco de Dados SQL do Azure. A camada de serviço Comercialmente Crítico/Premium também fornece escala de leitura que permite a conexão em um dos nós secundários para fins somente leitura.

Além da arquitetura de alta disponibilidade incluída no Banco de Dados SQL do Azure, o recurso grupos de failover permite que você gerencie a duplicação e o failover de bancos de dados em um servidor para outra região.

Logons e grupos

Logons do Windows não têm suporte no Banco de Dados SQL do Azure. Crie um logon do Microsoft Entra ID (antigo Azure Active Directory). Recrie manualmente quaisquer logons do SQL.

Trabalhos do SQL Agent

Os trabalhos do SQL Agent não são compatíveis com o Banco de Dados SQL do Azure. Em vez disso, use trabalhos elásticos.

Bancos de dados do sistema

Para o Banco de Dados SQL do Azure, os únicos bancos de dados do sistema aplicáveis são mestre e tempdb. Para saber mais, confira Tempdb no Banco de Dados SQL do Azure.

Recursos avançados

Não se esqueça de aproveitar os recursos avançados baseados em nuvem do Banco de Dados SQL. Por exemplo, você não precisa se preocupar em gerenciar backups porque o serviço faz isso para você. Você pode restaurá-los em qualquer ponto no tempo dentro do período de retenção.

Para reforçar a segurança, considere usar autenticação do Microsoft Entra, auditoria, detecção de ameaças, Segurança em Nível de Linha e Máscara Dinâmica de Dados.

Além dos recursos avançados de gerenciamento e segurança, o Banco de Dados SQL fornece ferramentas que podem ajudar você a monitorar e ajustar sua carga de trabalho. A Análise de SQL do Azure (versão prévia) é uma solução avançada que monitora o desempenho de todos os seus bancos de dados no Banco de Dados SQL do Azure em escala e em várias assinaturas em uma só exibição. A Análise de SQL do Azure coleta e visualiza as principais métricas de desempenho com inteligência interna para solução de problemas de desempenho.

O ajuste automático monitora continuamente o desempenho do seu plano de execução do SQL e corrige automaticamente os problemas de desempenho identificados.

Ativos de migração

Para obter mais assistência, confira os recursos a seguir que foram desenvolvidos para projetos de migração do mundo real.

Ativo Descrição
Modelo e ferramenta de avaliação de carga de trabalho de dados Essa ferramenta fornece sugestões das plataformas de destino mais adequadas, a preparação para a nuvem e um nível de correção de aplicativo/banco de dados para determinada carga de trabalho. Ela oferece um cálculo simples com um clique e a geração de relatórios que ajuda a acelerar avaliações de acervos grandes, fornecendo um processo de decisão uniforme e automatizado para plataforma de destino.
Criação de banco de dados em massa com o PowerShell Use um conjunto de três scripts do PowerShell que criam um grupo de recursos (create_rg.ps1), o servidor lógico no Azure (create_sqlserver.ps1) e um banco de dados SQL (create_sqldb.ps1). Os scripts incluem funcionalidades de loop, para que você possa iterar e criar quantos servidores e bancos de dados forem necessários.
Implantação de esquema em massa com o MSSQL-Scripter e o PowerShell Esse ativo cria um grupo de recursos, cria um ou vários servidores lógicos no Azure para hospedar o Banco de Dados SQL do Azure, exporta todos os esquemas de uma instância local do SQL Server (ou várias instâncias do SQL Server 2005 e posterior) e importa os esquemas para o Banco de Dados SQL do Azure.
Converter trabalhos do SQL Server Agent em trabalhos de banco de dados elástico Esse script migra seus trabalhos de origem do SQL Server Agent para trabalhos de banco de dados elástico.
Utilitário para mover os logons do SQL Server local para o Banco de Dados SQL do Azure Um script do PowerShell pode criar um script de comando T-SQL para recriar logons e selecionar usuários de banco de dados do SQL Server local para o Banco de Dados SQL do Azure. A ferramenta permite o mapeamento automático de contas do Windows Server Active Directory para contas do Microsoft Entra, com a migração opcional de logons nativos do SQL Server.
Automação da coleta de dados do Perfmon usando o Logman Use a ferramenta Logman para coletar dados do Perfmon (para ajudar você a entender o desempenho da linha de base) e obter recomendações de destinos de migração. Essa ferramenta usa o logman.exe para criar o comando que vai criar, iniciar, parar e excluir os contadores de desempenho definidos em uma instância remota do SQL Server.

A equipe de engenharia de dados do SQL desenvolveu esses recursos. A principal responsabilidade dessa equipe é desbloquear e acelerar a modernização complexa para projetos de migração da plataforma de dados para a plataforma de dados do Microsoft Azure.

Próximas etapas