Guia de migração: de SQL Server para a Instância Gerenciada de SQL do Azure

Aplica-se a:Instância Gerenciada de SQL do Azure

Conheça as opções e as considerações para migrar seus bancos de dados do SQL Server para o Instância Gerenciada de SQL do Azure.

Você pode migrar bancos de dados do SQL Server em execução no local ou nos seguintes:

  • 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

A Instância Gerenciada de SQL do Azure é uma opção de destino recomendada para cargas de trabalho de SQL Server que exigem um serviço totalmente gerenciado sem precisar gerenciar máquinas virtuais ou seus sistemas operacionais. A Instância Gerenciada de SQL permite que você mova seus aplicativos locais para o Azure com alterações mínimas de aplicativo ou banco de dados. Ele oferece isolamento completo de suas instâncias com suporte de rede virtual nativa.

Certifique-se de examinar os recursos do mecanismo de Instância Gerenciada de 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

Um dos principais benefícios da migração de seus bancos de dados do SQL Server para a Instância Gerenciada de SQL é que você pode optar por migrar toda a instância ou apenas um subconjunto de bancos de dados individuais. Planeje atentamente para incluir o seguinte em seu processo de migração:

  • Todos os bancos de dados que precisam ser colocados na mesma instância
  • Os objetos de nível de instância exigidos para o seu aplicativo, incluindo logons, credenciais, trabalhos e operadores do SQL Agent e gatilhos de nível de servidor

Observação

A Instância Gerenciada de SQL do Azure garante 99,99 por cento de disponibilidade, mesmo em cenários críticos. A sobrecarga causada por alguns recursos na Instância Gerenciada de SQL não pode ser desabilitada. Para mais informações, confira a entrada em blog Principais causas de diferenças de desempenho entre a Instância Gerenciada de SQL e o SQL Server.

Escolher um destino apropriado

Você pode usar a extensão de migração de SQL do Azure para o Azure Data Studio a fim de obter recomendações de Instância Gerenciada de SQL do Azure do 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

As diretrizes gerais a seguir podem ajudá-lo a escolher a camada de serviço e as características corretas da Instância Gerenciada de SQL para ajudar a corresponder a sua linha de base de desempenho:

  • Use a linha de base uso da CPU para provisionar uma instância gerenciada que corresponda ao número de núcleos que sua instância do SQL Server usa. Pode ser necessário dimensionar os recursos para que correspondam às características de configuração de hardware.
  • Use a linha de base uso de memória para escolher uma opção vCore que corresponda apropriadamente à sua alocação de memória.
  • Com base na latência de E/S da linha de base do subsistema de arquivos, escolha entre as camadas de serviço Uso Geral (latência maior que 5 ms) e Comercialmente Crítico (latência menor que 3 ms).
  • Use a taxa de transferência de linha de base para prefixar o tamanho dos arquivos de dados e de log para obter o desempenho de E/S esperado.

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.

Importante

Qualquer discrepância nos requisitos de rede virtual para instâncias gerenciadas pode impedi-lo de criar novas instâncias ou usar aquelas existentes. Saiba mais sobre a criação de novas redes e a configuração de redes existentes.

Outra consideração importante na seleção da camada de serviço de destino na Instância Gerenciada de SQL do Azure (Uso Geral versus Comercialmente Crítica) é a disponibilidade de determinados recursos, como OLTP na memória, que estão disponíveis apenas na camada Comercialmente Crítico.

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 a Instância Gerenciada de 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
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.
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.
Backup e restauração nativos A Instância Gerenciada de SQL do Azure dá suporte à restauração de backups de banco de dados nativos do SQL Server (arquivos. bak). É a opção de migração mais fácil para clientes que podem fornecer backups de banco de dados completos para o Armazenamento do Microsoft Azure.
Serviço de reprodução de log Este serviço de nuvem está habilitado para a Instância Gerenciada de SQL com base na tecnologia de envio de logs do SQL Server. É a opção de migração mais fácil para clientes que podem fornecer backups de banco de dados completos para o Armazenamento do Microsoft Azure. O serviço de reprodução de log é usado para restaurar arquivos de backup do Armazenamento de Blobs do Azure para a Instância Gerenciada de SQL.
Link da Instância Gerenciada Esse recurso permite a migração online para a Instância Gerenciada de SQL por meio da tecnologia Always On. É uma opção de migração para os clientes que exigem que o banco de dados na Instância Gerenciada de SQL fique acessível no modo R/O, enquanto a migração está em andamento, que precisam manter a migração em execução por períodos prolongados (semanas ou meses no momento), que exigem uma verdadeira replicação online para a camada de serviço Comercialmente Crítico e para os clientes que precisam da migração com o melhor desempenho e tempo de inatividade mínimo.

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.
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 a Instância Gerenciada de SQL do Azure, use a ferramenta de Cópia em Massa Inteligente a fim de maximizar a velocidade de transferência aproveitando as tarefas de cópia paralelas.
Assistente de importação e 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 par a Instância Gerenciada de SQL do Azure.
Azure Data Factory A atividade de cópia do Azure Data Factory migra os dados de bancos de dados do SQL Server de origem para a Instância Gerenciada de 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 a Instância Gerenciada de SQL.

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 recomendáveis:

Opção de migração Quando usar Considerações
Extensão de Migração de SQL do Azure para Azure Data Studio – Migra bancos de dados individuais ou em escala.
– Pode ser executado nos modos online e offline.

Fontes com suporte:
– SQL Server (2005 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.
Backup e restauração nativos – Migra bancos de dados individuais de aplicativos de linha de negócios.
-Migração rápida e fácil sem um serviço de migração ou uma ferramenta separada.

Fontes compatíveis:
– SQL Server (2005 a 2019) local ou VM do Azure
– Amazon EC2
– VM do SQL Server de computação da GCP
-O backup do banco de dados usa vários threads para otimizar a transferência de dados para o Armazenamento de Blobs do Azure, mas a largura de banda do parceiro e o tamanho do banco de dados pode afetar a taxa de transferência.
-A inatividade deve acomodar o tempo necessário para executar um backup completo e restauração (que é um tamanho de operação de dados).
Serviço de reprodução de log – Migra bancos de dados individuais de aplicativos de linha de negócios.
-Mais controle é necessário para migrações de banco de dados.

Fontes compatíveis:
– SQL Server (2008 a 2019) local ou VM do Azure
- Amazon EC2
- Amazon RDS para SQL Server
– VM do SQL Server de computação da GCP
- A migração consiste em fazer backups de banco de dados completos no SQL Server e copiar arquivos de backup para o Armazenamento de Blobs do Azure. O serviço de reprodução de log é usado para restaurar arquivos de backup do Armazenamento de Blobs do Azure para a Instância Gerenciada de SQL.
- Os bancos de dados que estão sendo restaurados durante o processo de migração estarão em um modo de restauração e não poderão ser usados para leitura ou gravação de cargas de trabalho até que o processo esteja concluído.
Recurso de link para a Instância Gerenciada de SQL do Azure – Migra bancos de dados individuais de aplicativos de linha de negócios.
-Mais controle é necessário para migrações de banco de dados.
– A migração com tempo de inatividade mínimo é necessária.

Fontes compatíveis:
- SQL Server (2016 a 2019) local ou VM do Azure
– Amazon EC2
– VM do SQL Server de computação da GCP
- A migração envolve estabelecer uma conexão de rede entre o SQL Server e a Instância Gerenciada de SQL, bem como abrir as portas de comunicação.
- Usa tecnologia de grupo de disponibilidade Always On para replicar o banco de dados quase em tempo real, fazendo uma réplica exata do banco de dados do SQL Server na Instância Gerenciada de SQL.
- O banco de dados pode ser usado para acesso somente leitura na Instância Gerenciada de SQL, enquanto a migração está em andamento.
- Fornece o melhor desempenho durante a migração com tempo de inatividade mínimo.

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 da Instância Gerenciada de SQL do Azure de destino.
– Faz migrações completas ou parciais de banco de dados de tabelas selecionadas (subconjunto de um banco de dados).

Fontes compatíveis:
- SQL Server (2012 a 2019) com algumas limitações
– Amazon EC2
– VM do SQL Server de computação da GCP

– 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.
- A capacidade de monitorar a atividade de replicação está disponível.
Cópia em massa – Faz migrações completas ou parciais de dados.
– Pode acomodar algum tempo de inatividade.

Fontes compatíveis:
– SQL Server (2005 a 2019) local ou VM do Azure
- Amazon EC2
– Amazon RDS para SQL Server
– VM do SQL Server de computação da GCP
– 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.
Assistente de importação e 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 compatíveis:
– SQL Server (2005 a 2019) local ou VM do Azure
– Amazon EC2
– Amazon RDS
– VM do SQL Server de computação da GCP

– 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 de dados incompatíveis.
– O tempo necessário para exportar um banco de dados com muitos objetos pode ser significativamente maior.
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 a Instância Gerenciada de 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.
- O 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.

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

Migrar pacotes do SQL Server Integration Services (SSIS) e projetos no SSISDB para a Instância Gerenciada de SQL do Azure usando o Serviço de Migração de Banco de Dados do Azure.

Somente pacotes SSIS no SSISDB a partir do SQL Server 2012 têm suporte para migração. Converta pacotes SSIS mais antigos antes da migração. Consulte o tutorial de conversão do projeto para saber mais.

SQL Server Reporting Services

Você pode migrar relatórios do SQL Server Reporting Services (SSRS) 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.

SQL Server Analysis Services

Os modelos de tabela do SQL Server Analysis Services do SQL Server 2012 e posterior podem ser migrados para o Azure Analysis Services, que é um modelo de implantação de plataforma como serviço (PaaS) para o modelo de tabela do Analysis Services no Azure. Você pode saber mais sobre como migrar modelos locais para o Azure Analysis Services neste tutorial de vídeo.

Como alternativa, você pode considerar migrar seus modelos de tabela locais do Analysis Services para oPower BI Premium usando os novos pontos de extremidade de leitura/gravação XMLA.

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 a Instância Gerenciada de SQL do Azure. O modelo de disponibilidade Premium também fornece expansão 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 na Instância Gerenciada de SQL do Azure, o recurso grupos de failover permite que você gerencie a replicação e o failover de bancos de dados em uma instância gerenciada para outra região.

Trabalhos do SQL Agent

Use a opção offline do Serviço de Migração de Banco de Dados do Azure para migrar trabalhos do SQL Agent. Caso contrário, execute o script de trabalhos no Transact-SQL (T-SQL) usando o SQL Server Management Studio e, em seguida, recrie-os manualmente na instância gerenciada do SQL de destino.

Importante

Atualmente, o Serviço de Migração de Banco de Dados do Azure dá suporte apenas a trabalhos com etapas de subsistema T-SQL. Trabalhos com etapas do pacote SSIS precisam ser migrados manualmente.

Logons e grupos

Mova os logons do SQL da fonte do SQL Server para a Instância Gerenciada de SQL do Azure usando o Serviço de Migração de Banco de Dados no modo offline. Use o painel Selecionar logons do Assistente de Migração para migrar os logons para o banco de dados SQL de destino.

Por padrão, o Serviço de Migração de Banco de Dados do Azure é compatível apenas com a migração de logons SQL. No entanto, você pode habilitar a capacidade de migrar logons do Windows executando as seguintes ações:

  • Garantindo que a Instância Gerenciada de SQL de destino tenha acesso de leitura do Microsoft Entra ID (antigo Azure Active Directory). Um usuário que tem a função de administrador global pode configurar esse acesso por meio do portal do Azure.
  • Configurando o Serviço de Migração de Banco de Dados do Azure para habilitar migrações de logon de usuário ou grupo do Windows. Você configura isso por meio do portal do Azure, na página de configuração. Depois de habilitar essa configuração, reinicie o serviço para que as alterações entrem em vigor.

Depois de reiniciar o serviço, os logons de usuário/grupo do Windows aparecerão na lista de logons disponíveis para migração. Para todo logon de usuário/grupo do Windows que você migrar, será solicitado que forneça o nome de domínio associado. Não há suporte para as contas de usuário de serviço (contas com nome de domínio NT AUTHORITY) e contas de usuário virtual (contas com o nome de domínio NT SERVICE). Para saber mais, consulte Como migrar usuários e grupos do Windows em uma instância do SQL Server para a Instância Gerenciada de SQL do Azure usando o T-SQL.

Como alternativa, você pode usar o utilitário do PowerShell especialmente projetado pelos arquitetos de migração de dados da Microsoft. O utilitário usa o PowerShell para criar um script T-SQL para recriar logons e selecionar usuários de banco de dados da origem para o destino.

O utilitário do PowerShell mapeia automaticamente as contas do Windows Server Active Directory para as contas do Microsoft Entra e pode fazer uma pesquisa de UPN para cada logon na instância do Active Directory de origem. O utilitário gera scripts de funções personalizadas de servidor e de banco de dados, junto com a associação de função e as permissões de usuário. Ainda não há suporte para bancos de dados independentes, e apenas um subconjunto de possíveis permissões do SQL Server está incluído no script.

Criptografia

Quando você estiver migrando bancos de dados protegidos porTransparent Data Encryption para uma instância gerenciada usando a opção de restauração nativa, migre o certificado correspondente da instância de SQL Server de origem para a instância gerenciada de SQL de destino antes da restauração do banco de dados.

Bancos de dados do sistema

Não há suporte para restauração de bancos de dados do sistema. Para migrar objetos de nível de instância (armazenados nos bancos de dados master e msdb), crie scripts usando T-SQL e, em seguida, recrie-os na instância gerenciada de destino.

OLTP na memória (tabelas com otimização de memória)

O SQL Server fornece um recurso de OLTP na memória. O SQL Server fornece recurso de OLTP na memória que permite o uso de tabelas com otimização de memória, tipos de tabela com otimização de memória e módulos de SQL compilados nativamente para executar cargas de trabalho que têm requisitos de processamento transacional de alta taxa de transferência e baixa latência.

Importante

O OLTP na memória tem suporte apenas na camada Comercialmente Crítica na Instância Gerenciada de SQL do Azure. Não é suportado na camada Uso Geral.

Se você tiver tabelas com otimização de memória ou tipos de tabela com otimização de memória em seu SQL Server local e estiver procurando migrar para a Instância Gerenciada de SQL do Azure, você deve:

  • Escolher o nível Comercialmente Crítica para a instância gerenciada de SQL de destino que dá suporte ao OLTP na memória.

  • Se você quiser migrar para o nível de Uso Geral da Instância Gerenciada de SQL do Azure, remova tabelas com otimização de memória, tipos de tabela com otimização de memória e módulos SQL compilados nativamente que interagem com objetos com otimização de memória antes de migrar seus bancos de dados. A seguinte consulta T-SQL pode ser usada para identificar todos os objetos que precisam ser removidos antes da migração para o nível de Uso Geral:

    SELECT * FROM sys.tables WHERE is_memory_optimized=1
    SELECT * FROM sys.table_types WHERE is_memory_optimized=1
    SELECT * FROM sys.sql_modules WHERE uses_native_compilation=1
    

Para saber mais sobre as tecnologias na memória, consulte Otimizar o desempenho usando tecnologias na memória na Instância Gerenciada de 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. Além disso, não é necessário preocupar-se com a configuração de alta disponibilidade, pois a alta disponibilidade é interna.

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, uma instância gerenciada de SQL fornece um conjunto de ferramentas avançadas que podem ajudá-lo a monitorar e ajustar sua carga de trabalho. A Análise de SQL do Azure permite monitorar um grande conjunto de instâncias gerenciadas de maneira centralizada. O ajuste automático em instâncias gerenciadas monitora continuamente o desempenho de sua execução do plano SQL e corrige automaticamente os problemas de desempenho identificados.

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

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.
Utilitário para mover os logons do SQL Server local para a Instância Gerenciada de 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 a Instância Gerenciada de 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