Visão geral da migração: SQL Server para Instância Gerenciada SQL do Azure

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

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

Você pode migrar bancos de dados do SQL Server executados no local ou 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

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

Veja as funcionalidades do motor de base de dados do SQL Server disponíveis no Azure SQL Managed Instance para confirmar se o destino de migração é suportado.

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

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

  • Todos os bancos de dados que precisam ser colocalizados na mesma instância
  • Objetos de nível de instância necessários para seu aplicativo, incluindo logons, credenciais, trabalhos e operadores do SQL Agent e gatilhos no nível do servidor

Nota

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

Escolha um alvo adequado

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 SQL do Azure no tamanho certo. A extensão coleta dados de desempenho de sua instância do SQL Server de origem para fornecer recomendação do Azure de tamanho certo que atenda às necessidades de desempenho da sua carga de trabalho com custo mínimo. Para saber mais, consulte Obter recomendação do Azure do tamanho certo para o(s) seu(s) banco(s) de dados SQL Server local

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

  • Use a linha de base de 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 recursos para corresponder às características de configuração de hardware.
  • Use a linha de base de uso de memória para escolher uma opção vCore que corresponda adequadamente à sua alocação de memória.
  • Use a latência de E/S de linha de base do subsistema de arquivos para escolher entre as camadas de serviço de uso geral (latência maior que 5 ms) e crítica para negócios (latência menor que 3 ms).
  • Use a taxa de transferência da linha de base para pré-alocar o tamanho dos dados e dos arquivos de log para obter o desempenho de E/S esperado.

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.

Importante

Qualquer discrepância nos requisitos de rede virtual para instâncias gerenciadas pode impedir que você crie novas instâncias ou use as existentes. Saiba mais sobre como criar novas redes e configurar redes existentes .

Outra consideração importante na seleção da camada de serviço de destino na Instância Gerenciada SQL do Azure (Finalidade Geral versus Crítica de Negócios) é a disponibilidade de determinados recursos, como OLTP In-Memory, que estão disponíveis apenas na camada Crítica de Negócios.

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 a Instância Gerenciada 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
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.
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.
Cópia de segurança e restauro nativos A Instância Gerenciada do SQL 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 completos de banco de dados para o Armazenamento do Azure.
Log Replay Service Esse serviço de nuvem está habilitado para a Instância Gerenciada do SQL com base na tecnologia de envio de logs do SQL Server. É uma opção de migração para clientes que podem fornecer backups de banco de dados completos, diferenciais e de log para o Armazenamento do Azure. O Serviço de Repetição de Log é usado para restaurar arquivos de backup do Armazenamento de Blob do Azure para a Instância Gerenciada do SQL.
Ligação do Managed Instance Esse recurso permite a migração online para a Instância Gerenciada SQL usando a tecnologia Always On. É uma opção de migração para clientes que exigem que o banco de dados na Instância Gerenciada SQL esteja acessível no modo R/O enquanto a migração está em andamento, que precisam manter a migração em execução por longos períodos de tempo (semanas ou meses no momento), que exigem replicação on-line verdadeira para a camada de serviço Crítica para os Negócios e para clientes que exigem a migração mínima de tempo de inatividade mais eficiente.

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

Tecnologia Descrição
Replicação transacional Replique dados de tabelas de banco de dados do SQL Server de origem para a Instância Gerenciada do SQL fornecendo uma opção de migração do tipo editor-assinante, mantendo a consistência transacional.
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 a instância gerenciada SQL de destino.

Para operações de cópia em massa de alta velocidade para mover dados para a Instância Gerenciada 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.
Assistente 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 de volta para a Instância Gerenciada SQL do Azure.
Fábrica de Dados do Azure A atividade de Cópia no Azure Data Factory migra dados de bancos de dados SQL Server de origem para a Instância Gerenciada do SQL usando conectores internos e um tempo de execução de integração.

O Data Factory oferece suporte a uma ampla variedade de conectores para mover dados de fontes do SQL Server para a Instância Gerenciada do SQL.

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
Extensão de migração do SQL do Azure para o Azure Data Studio - Migrar bases de dados únicas ou em escala.
- Pode ser executado nos modos online e offline.

Fontes suportadas:
- SQL Server (a partir de 2005) 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.
Cópia de segurança e restauro nativos - Migrar bancos de dados individuais de aplicativos de linha de negócios.
- Migração rápida e fácil sem um serviço ou ferramenta de migração separada.

Fontes suportadas:
- SQL Server (2005 a 2019) local ou Azure VM
- Amazon EC2
- GCP Compute SQL Server VM
- O backup de 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 podem afetar a taxa de transferência.
- O tempo de inatividade deve acomodar o tempo necessário para executar um backup e restauração completos (que é um tamanho da operação de dados).
Log Replay Service - Migrar bancos de dados individuais de aplicativos de linha de negócios.
- É necessário mais controlo para as migrações de bases de dados.

Fontes suportadas:
- SQL Server (2008 a 2019) local ou Azure VM
- Amazon EC2
- Amazon RDS para SQL Server
- GCP Compute SQL Server VM
- A migração envolve fazer backups completos do banco de dados no SQL Server e copiar arquivos de backup para o Armazenamento de Blobs do Azure. O Serviço de Repetição de Log é usado para restaurar arquivos de backup do Armazenamento de Blob do Azure para a Instância Gerenciada do 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 cargas de trabalho de leitura ou gravação até que o processo seja concluído.
Recurso de link para a Instância Gerenciada SQL do Azure - Migrar bancos de dados individuais de aplicativos de linha de negócios.
- É necessário mais controlo para as migrações de bases de dados.
- É necessária uma migração mínima de tempo de inatividade.

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

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 de Instância Gerenciada 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 (2012 a 2019) com algumas limitações
- Amazon 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.
- A capacidade de monitorar a atividade de replicação está disponível.
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
- Amazon EC2
- Amazon RDS para SQL Server
- 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.
Assistente 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
- Amazon EC2
- Amazon 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.
Fábrica de Dados do Azure - Migrar e/ou transformar dados de bancos de dados SQL Server de origem.
- A mesclagem de dados de várias fontes de dados para a Instância Gerenciada 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.

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 e projetos do SQL Server Integration Services (SSIS) no SSISDB para a Instância Gerenciada 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 de projetos 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 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.

SQL Server Analysis Services

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

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

Elevada disponibilidade

Os recursos de alta disponibilidade do SQL Server, instâncias de cluster de failover Always On e grupos de disponibilidade Always On tornam-se obsoletos na instância gerenciada SQL de destino. A arquitetura de alta disponibilidade já está incorporada às camadas de serviço de uso geral (modelo de disponibilidade padrão) e crítica de negócios (modelo de disponibilidade premium) para a instância gerenciada do SQL. O modelo de disponibilidade premium também fornece escalabilidade horizontal 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 SQL, o recurso de grupos de failover permite gerenciar 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 Serviço de Migração de Banco de Dados do Azure offline para migrar trabalhos do SQL Agent. Caso contrário, crie scripts para os trabalhos no Transact-SQL (T-SQL) usando o SQL Server Management Studio e recrie-os manualmente na instância gerenciada SQL de destino.

Importante

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

Logins e grupos

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

Por padrão, o Serviço de Migração de Banco de Dados do Azure dá suporte à migração apenas de logons SQL. No entanto, você pode habilitar a migração de logins do Windows da seguinte forma:

  • Garantir que a instância gerenciada do SQL de destino tenha acesso de leitura ao Microsoft Entra ID (anteriormente Azure Ative Directory). Um usuário que tenha a função de Administrador Global pode configurar esse acesso por meio do portal do Azure.
  • Configurar 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 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 logins de usuário ou grupo do Windows aparecem na lista de logons disponíveis para migração. Para qualquer login de usuário ou grupo do Windows migrado, você será solicitado a fornecer o nome de domínio associado. Não há suporte para contas de usuário de serviço (contas com o 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 SQL do Azure usando T-SQL.

Como alternativa, você pode usar o utilitário PowerShell especialmente projetado por 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 do banco de dados da origem para o destino.

O utilitário PowerShell mapeia automaticamente as contas do Ative Directory do Windows Server para as contas do Microsoft Entra e pode fazer uma pesquisa UPN para cada logon em relação à instância do Ative Directory de origem. Os scripts do utilitário personalizam funções de servidor e banco de dados, juntamente com associação de função e permissões de usuário. Os bancos de dados contidos ainda não são suportados e apenas um subconjunto de possíveis permissões do SQL Server é roteirizado.

Encriptação

Ao migrar bancos de dados protegidos pela Criptografia de Dados Transparente para uma instância gerenciada usando a opção de restauração nativa, migre o certificado correspondente da instância do SQL Server de origem para a instância gerenciada do SQL de destino antes da restauração do banco de dados.

Bases de dados do sistema

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

OLTP In-Memory (tabelas com otimização de memória)

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

Importante

O OLTP na memória é suportado apenas na camada Business Critical na Instância Gerenciada SQL do Azure. Não é suportado na camada de uso geral.

Se você tiver tabelas com otimização de memória ou tipos de tabela com otimização de memória em sua instância local do SQL Server e quiser migrar para a Instância Gerenciada SQL do Azure, deverá:

  • Escolha a camada Business Critical para sua instância gerenciada SQL de destino que ofereça suporte a OLTP In-Memory.

  • Se você quiser migrar para a camada de Propósito Geral na Instância Gerenciada 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. Você pode usar a seguinte consulta T-SQL para identificar todos os objetos que precisam ser removidos antes da migração para a camada 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 tecnologias na memória, consulte Otimizar o desempenho usando tecnologias na memória no Banco de Dados SQL do Azure e na Instância Gerenciada SQL do Azure.

Funcionalidades avançadas

Certifique-se de aproveitar os recursos avançados baseados em nuvem na Instância Gerenciada 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. Além disso, você não precisa se preocupar com a configuração de alta disponibilidade, porque a alta disponibilidade é integrada.

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

Alguns recursos estão disponíveis somente depois que 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, 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.
Utilitário para mover logons locais do SQL Server para a Instância Gerenciada 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 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