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

Saiba mais sobre as opções e 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 SQL Server existentes em execução em:

  • SQL Server nas Máquinas Virtuais
  • Amazon EC2 (nuvem de computação elástica)
  • Amazon RDS (serviço de banco de dados relacional) para SQL Server
  • Mecanismo de computação do Google
  • Cloud SQL para SQL Server - GCP (Google Cloud Platform)

Para obter outros guias de migração, consulte Migração de banco de dados.

Descriçã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 plataforma como serviço (PaaS) totalmente gerenciada. O Banco de dados SQL lida com a maioria das funções de gerenciamento de banco de dados. Ele também tem alta disponibilidade integrada, processamento inteligente de consultas, escalabilidade e recursos de desempenho para atender a muitos tipos de aplicativos.

O Banco de dados SQL oferece 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 os recursos de PaaS. Em seguida, você pode eliminar qualquer dependência de componentes técnicos que têm escopo no nível da instância, como trabalhos do SQL Agent.

Você também pode economizar custos usando o Benefício Híbrido do Azure para SQL Server para migrar suas licenças locais do SQL Server para o Banco de Dados SQL do Azure. Esta opção está disponível se você escolher o modelo de compra baseado em vCore.

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

Considerações

Os principais fatores a serem considerados ao avaliar as opções de migração são:

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

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

As ferramentas estão 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 único banco de dados 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.

Escolha um alvo adequado

Considere as diretrizes gerais para ajudá-lo a escolher o modelo de implantação e a camada de serviço corretos do Banco de Dados SQL do Azure. Você pode escolher recursos de computação e armazenamento durante a implantação e, em seguida, alterá-los posteriormente usando o portal do Azure sem incorrer em tempo de inatividade para seu aplicativo.

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

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

  • O modelo vCore permite que você escolha o número de vCores para o Banco de Dados SQL do Azure, portanto, é a escolha mais fácil quando você está traduzindo do SQL Server local. Esta é a única opção que suporta a redução de custos de licença com o Benefício Híbrido do Azure.
  • O modelo DTU abstrai os recursos subjacentes de computação, memória e E/S para fornecer uma DTU combinada.
  • O modelo sem servidor é para cargas de trabalho que exigem dimensionamento automático sob demanda com recursos de computação cobrados por segundo de uso. O escalão de computação sem servidor põe em pausa automaticamente as bases de dados durante os períodos de inatividade (em que só é cobrado o armazenamento). Ele 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.

  • O nível de serviço de uso geral/padrão oferece uma opção equilibrada orientada a orçamento, com computação e armazenamento adequados para fornecer aplicativos nos níveis médio e inferior. A redundância é incorporada na camada de armazenamento para recuperação de falhas. Foi concebido para a maioria das cargas de trabalho.
  • A camada de serviço Business Critical/Premium destina-se a aplicativos de alto nível que exigem altas taxas de transação, E/S de baixa latência e um alto nível de resiliência. Estão disponíveis réplicas secundárias para ativação pós-falha e para descarregar cargas de trabalho de leitura.
  • O nível de serviço Hyperscale destina-se a todos os clientes que exigem maior desempenho e disponibilidade, backup e restauração rápidos e/ou escalabilidade rápida de armazenamento e computação. Isso inclui clientes que estão migrando para a nuvem para modernizar seus aplicativos, bem como clientes que já estão usando outras camadas de serviço no Banco de Dados SQL do Azure. A camada de serviço Hyperscale suporta uma ampla gama de cargas de trabalho de banco de dados, de OLTP puro a análise pura. Ele é otimizado para OLTP e cargas de trabalho de transação híbrida e processamento analítico (HTAP).

Importante

A taxa de log de transações é governada no Banco de Dados SQL do Azure para limitar altas taxas de ingestão. Como tal, durante a migração, talvez seja necessário dimensionar 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 apropriado, mas planeje aumentar a escala de recursos para a migração, se necessário.

Alternativa de VM do SQL Server

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

Se uma das seguintes condições se aplicar à sua empresa, considere mudar para uma máquina virtual (VM) do SQL Server:

  • Você precisa de acesso direto ao sistema operacional ou sistema de arquivos, como instalar agentes personalizados ou de terceiros na mesma máquina virtual com o SQL Server.
  • Você tem dependência estrita de recursos que ainda não são suportados, como FileStream/FileTable, PolyBase e transações entre instâncias.
  • 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 uma instância gerenciada oferece (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 Description
Azure Migrate Este serviço do Azure ajuda-o a descobrir e avaliar o seu património de dados SQL em escala no VMware. Ele fornece recomendações de implantação do SQL do Azure, dimensionamento de destino e estimativas mensais.
Extensão de migração do SQL do Azure para o Azure Data Studio Com tecnologia do serviço de Migração de Banco de Dados do Azure, a extensão de Migração SQL do Azure para o Azure Data Studio ajuda você a avaliar seus requisitos de banco de dados para entender sua prontidão de migração, obter as recomendações de SKU de tamanho certo para recursos do Azure e migrar seu banco de dados do SQL Server para o Azure. Você pode migrar bancos de dados únicos ou em escala usando o PowerShell e a CLI do Azure.

A tabela a seguir lista ferramentas de migração alternativas:

Tecnologia Description
Replicação transacional Replique dados de tabelas de banco de dados do SQL Server de origem para o Banco de Dados SQL do Azure fornecendo uma opção de migração do tipo editor-assinante enquanto mantém a consistência transacional. As alterações incrementais de dados são propagadas para os assinantes à medida que ocorrem nos editores.
Serviço de Importação e Exportação/BACPAC BACPAC é um arquivo do Windows com uma extensão .bacpac que encapsula o esquema e os dados de um banco de dados. Você pode usar 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 dimensionar e executar com grandes tamanhos de bancos de dados ou um grande número de bancos de dados, considere usar a ferramenta de linha de comando SqlPackage para exportar e importar bancos de dados.
Cópia em massa A ferramenta de programa de cópia em massa (bcp) copia dados de uma instância do SQL Server para um arquivo de dados. Use a ferramenta para exportar os dados da sua 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, você pode usar a ferramenta Smart Bulk Copy para maximizar a velocidade de transferência aproveitando as tarefas de cópia paralela.
Fábrica de Dados do Azure A atividade Copiar no Azure Data Factory migra dados de bancos de dados SQL Server de origem para o Banco de Dados SQL do Azure usando conectores internos e um tempo de execução 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 na Base de Dados SQL do Azure que lhe permite sincronizar dados selecionados bidirecionalmente em várias bases de dados, tanto no local como na nuvem.
A Sincronização de Dados é útil nos casos em que os dados precisam ser mantidos 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 adequado às necessidades da sua empresa.

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

Opção de migração Quando utilizar o Considerações
Azure Migrate - Descoberta e avaliação de bancos de dados únicos ou em escala a partir de diferentes ambientes. - Todas as etapas de pré-migração, como deteção, avaliações e dimensionamento correto de recursos locais, estão incluídas para infraestrutura, dados e aplicativos.
Extensão de migração do SQL do Azure para o Azure Data Studio - Migrar bases de dados únicas ou em escala.
- Apenas no modo offline.

Fontes suportadas:
- SQL Server (a partir de 2008) no local ou em máquinas
virtuais do Azure - SQL Server no Amazon EC2
- Amazon RDS for SQL Server - SQL Server
no Google Compute Engine
- As migrações em escala podem ser automatizadas via PowerShell ou CLI do Azure.

- O tempo para concluir a migração depende do tamanho do banco de dados e do número de objetos no banco de dados.

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

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

Método ou tecnologia Quando utilizar o Considerações
Replicação transacional - Migrar publicando continuamente alterações de tabelas de banco de dados de origem para tabelas de banco de dados SQL de destino.
- Fazer migrações completas ou parciais de banco de dados de tabelas selecionadas (subconjunto de um banco de dados).

Fontes suportadas:
- SQL Server (2016 a 2019) com algumas limitações
- AWS EC2
- GCP Compute SQL Server VM
- A configuração é relativamente complexa em comparação com outras opções de migração.
- Fornece uma opção de replicação contínua para migrar dados (sem colocar os bancos de dados offline).
- A replicação transacional tem limitações a serem consideradas quando você estiver configurando o editor na instância do SQL Server de origem. Consulte Limitações na publicação de objetos para saber mais.
- É possível monitorar a atividade de replicação.
Serviço de Importação e Exportação/BACPAC - Migrar bancos de dados individuais de aplicativos de linha de negócios.
- Adequado para bases de dados mais pequenas.
- Não requer um serviço ou ferramenta de migração separada.

Fontes suportadas:
- SQL Server (2005 a 2019) local ou Azure VM - AWS EC2
- AWS RDS
- GCP Compute SQL Server VM
- Requer tempo de inatividade porque os dados precisam ser exportados na origem e importados no destino.
- Os formatos de arquivo e tipos de dados usados na exportação ou importação precisam ser consistentes com esquemas de tabela para evitar truncamento ou erros de incompatibilidade de tipo de dados.
- O tempo necessário para exportar um banco de dados com um grande número de objetos pode ser significativamente maior.
Cópia em massa - Fazer migrações de dados totais ou parciais.
- Pode acomodar o tempo de inatividade.

Fontes suportadas:
- SQL Server (2005 a 2019) local ou Azure VM - AWS EC2
- AWS RDS
- GCP Compute SQL Server VM
- Requer tempo de inatividade para exportar dados da origem e importar para o destino.
- Os formatos de arquivo e tipos de dados usados na exportação ou importação precisam ser consistentes com os esquemas de tabela.
Fábrica de Dados do Azure - Migrar e/ou transformar dados de bancos de dados SQL Server de origem.
- Mesclar dados de várias fontes de dados para o Banco de Dados SQL do Azure normalmente é para cargas de trabalho de business intelligence (BI).
- Requer a criação de pipelines de movimentação de dados no Data Factory para mover dados da origem para o destino.
- O custo é uma consideração importante e é baseado em fatores como gatilhos de pipeline, execuções de atividade e duração da movimentação de dados.
Sincronização de dados SQL - Sincronizar 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 deve ser o banco de dados de hub para sincronização com um banco de dados SQL Server local como um banco de dados membro.
- Em comparação com a replicação transacional, o SQL Data Sync oferece 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 do SQL Server Integration Services (SSIS) para o Azure reimplantando os pacotes no tempo de execução do Azure-SSIS no Azure Data Factory. O Azure Data Factory dá suporte à migração de pacotes SSIS fornecendo um tempo de execução criado para executar pacotes SSIS no Azure. Como alternativa, você pode reescrever a lógica ETL (extrair, transformar, carregar) do SSIS nativamente no Azure Data Factory usando fluxos de dados.

SQL Server Reporting Services

Migre relatórios do SQL Server Reporting Services (SSRS) para relatórios paginados no Power BI. Use a Ferramenta 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 RDL (Report Definition Language) de seus servidores SSRS para o Power BI. Ele está disponível no GitHub e documenta um passo a passo completo do cenário de migração.

Elevada disponibilidade

A configuração manual de recursos de alta disponibilidade do SQL Server, como instâncias de cluster de failover Always On e grupos de disponibilidade Always On, torna-se obsoleta no banco de dados SQL de destino. A arquitetura de alta disponibilidade já está incorporada nas camadas de serviço de Uso Geral (modelo de disponibilidade padrão) e Business Critical (modelo de disponibilidade premium) para o Banco de Dados SQL do Azure. A camada de serviço Business Critical/Premium também fornece escalonamento 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 de grupos de failover permite gerenciar a replicação e o failover de bancos de dados para um servidor em outra região.

Logins e grupos

Não há suporte para logons do Windows no Banco de Dados SQL do Azure, crie um logon a partir do Microsoft Entra ID (anteriormente Azure Ative Directory). Recrie manualmente todos os logins SQL.

Trabalhos do SQL Agent

Os trabalhos do SQL Agent não têm suporte direto no Banco de Dados SQL do Azure e precisam ser implantados em trabalhos de banco de dados elástico (visualização).

Bases de dados do sistema

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

Funcionalidades avançadas

Certifique-se de aproveitar os recursos avançados baseados em nuvem no Banco de dados SQL. Por exemplo, você não precisa se preocupar com o gerenciamento de backups porque o serviço faz isso por você. Você pode restaurar para qualquer point-in-time dentro do período de retenção.

Para fortalecer a segurança, considere o uso da autenticação do Microsoft Entra, auditoria, deteção de ameaças, segurança em nível de linha e mascaramento dinâmico de dados.

Além de recursos avançados de gerenciamento e segurança, o Banco de dados SQL fornece ferramentas que podem ajudá-lo a monitorar e ajustar sua carga de trabalho. O Azure SQL Analytics (Pré-visualização) é uma solução avançada para monitorizar o desempenho de todas as suas bases de dados na Base de Dados SQL do Azure em escala e em várias subscrições numa única vista. O Azure SQL Analytics 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 SQL e corrige automaticamente os problemas de desempenho identificados.

Ativos de migração

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

Elemento Description
Modelo e ferramenta de avaliação da carga de trabalho de dados Essa ferramenta fornece plataformas de destino sugeridas de "melhor ajuste", prontidão para a nuvem e um nível de correção de aplicativo/banco de dados para uma carga de trabalho. Ele oferece cálculo simples com um clique e geração de relatórios que ajudam a acelerar avaliações de grandes propriedades, fornecendo um processo de decisão automatizado e uniforme para plataformas de destino.
Criação de banco de dados em massa com o PowerShell Você pode usar 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 recursos 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 MSSQL-Scripter e 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 cada esquema de uma instância local do SQL Server (ou várias instâncias do SQL Server 2005+) 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 logons locais do SQL Server 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 Ative Directory do Windows Server para contas do Microsoft Entra, além de migrar opcionalmente logons nativos do SQL Server.
Automação da coleta de dados Perfmon usando o Logman Você pode usar a ferramenta Logman para coletar dados Perfmon (para ajudá-lo a entender o desempenho da linha de base) e obter recomendações de destino de migração. Essa ferramenta usa logman.exe para criar o comando que criará, iniciará, parará e excluirá contadores de desempenho definidos em uma instância remota do SQL Server.

A equipe de Engenharia de Dados SQL desenvolveu esses recursos. A carta principal desta equipe é desbloquear e acelerar a modernização complexa para projetos de migração de plataforma de dados para a plataforma de dados Azure da Microsoft.

Próximos passos