Migrar com o link – Azure SQL Managed Instance

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

Este artigo ensina você a migrar seu banco de dados SQL Server para Azure SQL Managed Instance usando o link Managed Instance.

Para obter um guia de migração detalhado, examine Migrate para Azure SQL Managed Instance. Para comparar as ferramentas de migração, examine Compare LRS com Managed Instance link.

Observação

Agora você pode migrar sua instância de SQL Server habilitada por Azure Arc para Azure SQL Managed Instance diretamente por meio do portal Azure. Para obter mais informações, consulte Migrate to Azure SQL Managed Instance.

Visão geral

O link Managed Instance permite a migração de SQL Server hospedados em qualquer lugar para Azure SQL Managed Instance. O link usa a tecnologia de grupo de disponibilidade Always On para replicar alterações quase em tempo real da instância de SQL Server primária para a SQL Managed Instance secundária. O link fornece a única opção de migração verdadeiramente online entre SQL Server e Azure SQL Managed Instance, já que o único tempo de inatividade é a transição para a instância gerenciada de SQL de destino.

A migração com o link oferece:

  • A capacidade de testar cargas de trabalho somente leitura em SQL Managed Instance antes de finalizar a migração para Azure.
  • A capacidade de manter o link e a migração funcionando pelo tempo que você precisar, semanas e até meses por vez.
  • Replicação de dados quase em tempo real que fornece a replicação de dados mais rápida disponível para o Azure.
  • Migração com o menor tempo de inatividade em comparação com todas as outras soluções disponíveis atualmente.
  • Migração instantânea para o SQL Managed Instance de destino.
  • A capacidade de migrar sempre que estiver pronto.
  • A capacidade de migrar bancos de dados únicos ou múltiplos de uma ou várias instâncias de SQL Server para as mesmas ou várias instâncias gerenciadas de SQL em Azure.
  • A única migração online verdadeira para a camada de serviço Comercialmente Crítico.

Observação

Embora você só possa migrar um banco de dados por link, é possível estabelecer vários links da mesma instância de SQL Server para a mesma SQL Managed Instance.

Pré-requisitos

Para usar o link com Azure SQL Managed Instance para migração, você precisa dos seguintes pré-requisitos:

Avaliar e descobrir

Depois de verificar se o ambiente de origem tem suporte, comece com a fase de pré-migração. Descubra todas as fontes de dados existentes, avalie a viabilidade da migração e identifique problemas de bloqueio que possam impedir a migração. Na fase descobrir, examine a rede para identificar todas as instâncias do SQL Server e funcionalidades usadas pela sua organização.

Você pode usar as seguintes ferramentas para descobrir origens de SQL em seu ambiente:

  • SQL Server habilitado pelo Azure Arc: SQL Server habilitado por Azure Arc produz automaticamente uma avaliação da migração para Azure, simplificando o processo de descoberta e a avaliação de preparação para a migração.
  • Azure Migrate avaliar a adequação da migração de servidores locais, executar o dimensionamento baseado em desempenho e fornecer estimativas de custo para executá-los em Azure.
  • Microsoft Kit de Ferramentas de Avaliação e Planejamento (o "Kit de Ferramentas MAP") para avaliar sua infraestrutura de TI atual. O kit de ferramentas fornece uma poderosa ferramenta de inventário, avaliação e relatório para simplificar o processo de planejamento de migração.

Depois que as fontes de dados forem descobertas, avalie as instâncias SQL Server locais que podem ser migradas para Azure SQL Managed Instance para identificar os bloqueadores de migração ou problemas de compatibilidade.

Você pode usar a avaliação de preparação para migração para avaliar sua instância de SQL Server de origem.

Para obter diretrizes detalhadas, consulte a pré-migração.

Criar instância de destino

Depois de avaliar seu ambiente existente e determinar a configuração de hardware e a camada de serviço apropriada para sua instância gerenciada de SQL de destino, implante sua instância de destino usando o portal Azure, PowerShell ou o Azure CLI.

Depois que a instância gerenciada de SQL de destino for criada, configure um link entre o banco de dados em sua instância de SQL Server e Azure SQL Managed Instance. Primeiro, preparar seu ambiente e configurar um link usando SQL Server Management Studio (SSMS) ou scripts.

Verificar o atraso de replicação

É importante que a réplica secundária se atualize até a réplica primária antes de executar um failover de migração planejado. O failover planejado pode expirar e falhar se a réplica secundária estiver significativamente atrasada em relação à réplica primária.

Use a seguinte consulta T-SQL em SQL Server e SQL Managed Instance para monitorar o atraso de replicação entre as réplicas:

-- Execute on SQL Server and SQL Managed Instance 
USE master
DECLARE @link_name varchar(max) = '<DAGname>'
SELECT
   ag.name [Link name], 
   ars1.role_desc [Link role],
   ars2.connected_state_desc [Link connected state],
   ars2.synchronization_health_desc [Link sync health],
   drs.secondary_lag_seconds [Link replication latency (seconds)]
FROM
   sys.availability_groups ag 
   JOIN sys.dm_hadr_availability_replica_states ars1
   ON ag.group_id = ars1.group_id
   JOIN sys.dm_hadr_availability_replica_states ars2
   ON ag.group_id = ars2.group_id
   JOIN sys.dm_hadr_database_replica_states drs
   ON ars2.replica_id = drs.replica_id
WHERE 
   ag.is_distributed = 1 AND ag.name = @link_name AND ars1.is_local = 1 AND ars2.is_local = 0
GO

Se o atraso de replicação for alto, aguarde até que a réplica secundária acompanhe a réplica primária. Talvez seja necessário executar etapas adicionais de solução de problemas se o atraso persistir, como pausar cargas de trabalho na réplica primária, melhorar a taxa de transferência de rede de vínculo entre as duas instâncias ou aumentar a capacidade do recurso na réplica secundária. A maneira mais fácil de parar cargas de trabalho em uma réplica primária SQL Server é cortar conexões de aplicativo com a instância.

Migrar vários bancos de dados

Se você planeja migrar vários bancos de dados de instâncias no mesmo servidor, para obter o desempenho e a previsibilidade ideais, migre 8 bancos de dados por instância de cada vez. Por exemplo, se você tiver 10 instâncias com 32 bancos de dados vinculados cada, migre 8 bancos de dados por vez de cada instância usando failovers planejados e repita o processo até que todos os bancos de dados sejam migrados.

Sincronização e substituição de dados

Depois que o link estiver estabelecido e você estiver pronto para migrar, siga estas etapas (normalmente durante uma janela de manutenção):

  1. Interrompa a carga de trabalho no banco de dados de SQL Server primário para que o banco de dados secundário em SQL Managed Instance se atualize. A maneira mais fácil de parar cargas de trabalho em uma réplica primária SQL Server é cortar conexões de aplicativo com a instância.
  2. Valide se todos os dados foram transferidos para o banco de dados secundário no SQL Managed Instance. Verifique o atraso de replicação para garantir que a réplica secundária esteja alinhada com a réplica primária.
  3. Faça failover do link para a instância gerenciada de SQL secundária escolhendo Failover planejado.
  4. (Opcionalmente) Marque a caixa para Remover o link após o failover bem-sucedido, garantindo assim que o failover seja unidirecional e o link seja removido.
  5. (Opcionalmente) Se você estiver em uma versão do SQL Server com suporte e uma política de atualização correspondente do SQL Managed Instance, poderá manter o link após o failover para reverter uma migração, se necessário. Verifique a seção 'Reverter uma migração' para obter detalhes específicos da versão.
  6. Substitua o aplicativo para se conectar ao ponto de extremidade da instância gerenciada de SQL.
  7. (Opcionalmente) Se você não optou por remover o link durante o failover, poderá remover o link após a substituição depois de não precisar mais dele.

Validar a migração

Depois de migrar para o alvo da instância gerenciada de SQL, monitore o aplicativo, teste o desempenho e corrija quaisquer problemas.

Para obter detalhes, verifique pós-migração.

Reverter uma migração

A migração reversa de volta para SQL Server de Azure SQL Managed Instance pode ter suporte dependendo da política update da instância gerenciada de SQL. Por exemplo:

Se a versão de SQL Server de origem for anterior à SQL Server 2022, a migração reversa não será possível. Quando o banco de dados é migrado para SQL Managed Instance, ele passa por uma atualização interna para uma versão mais recente do banco de dados que não é compatível com versões de SQL Server anteriores. A compatibilidade do banco de dados de migração reversa só está disponível quando a instância gerenciada de SQL é configurada com a política de atualização correspondente.

Para usar o link:

Para saber mais sobre o link:

Para outros cenários de replicação e migração, considere: