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

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

Neste guia, você aprende como migrar os bancos de dados de usuário do SQL Server para a Instância Gerenciada de SQL do Azure.

Conclua as etapas pré-migração antes de continuar.

Migrações

Após a conclusão das tarefas da fase de pré-migração, você pode executar o esquema e a migração de dados.

Migre os dados usando o método de migração escolhido.

Esta seção apresenta as etapas gerais de migração para as seguintes opções de migração recomendadas:

  • Link da instância gerenciada
  • LRS (Serviço de Reprodução de Log)
  • Extensão de migração do SQL do Azure para Azure Data Studio – migração com tempo de inatividade próximo de zero.
  • RESTORE DATABASE FROM URL nativo - usa backups nativos do SQL Server e requer algum tempo de inatividade.

A Instância Gerenciada de SQL destina-se a cenários de usuários que requerem migração de banco de dados em massa a partir de implementações de bancos de dados VM ou locais. Essas são as escolhas ideais quando for necessário fazer lift-and-shift do back-end dos aplicativos que utilizam regularmente as funcionalidades entre banco de dados e/ou nível de instância. Se este é o seu cenário, você pode mover uma instância inteira para um ambiente correspondente no Azure sem a necessidade de arquitetar novamente seus aplicativos.

Para mover instâncias do SQL, é necessário planejar atentamente:

  • A migração de todos os bancos de dados que precisam ser colocados (os que estão executando na mesma instância).
  • A migração de objetos de nível de instância dos quais seu aplicativo depende, incluindo logons, credenciais, trabalhos e operadores do SQL Agent e gatilhos de nível de servidor.

A Instância Gerenciada de SQL é um serviço gerenciado que permite delegar algumas das atividades regulares do DBA para a plataforma conforme são inseridas. Portanto, alguns dados de nível de instância não precisam ser migrados, como trabalhos de manutenção para backups regulares ou configuração Always On, pois a alta disponibilidade é interna.

Azure Data Studio

Esta seção apresenta as etapas de alto nível para migrar do SQL Server para a Instância Gerenciada de SQL do Azure com tempo de inatividade mínimo usando a extensão de migração do SQL do Azure no Azure Data Studio. Para ver instruções detalhadas, confira o Tutorial: Migrar o SQL Server para a Instância Gerenciada de SQL do Azure online no Azure Data Studio.

Para migrar com o Azure Data Studio, siga estas etapas:

  1. Baixe e instale o Azure Data Studio: e a extensão de migração do SQL do Azure no Azure Data Studio.
  2. Inicie o assistente de migração Migrar para o SQL do Azure na extensão do Azure Data Studio.
  3. Selecione bancos de dados para avaliação e exiba a preparação ou problemas de migração (se houver). Além disso, colete dados de desempenho e obtenha a recomendação de tamanho correto do Azure.
  4. Selecione sua conta do Azure e a Instância Gerenciada de SQL do Azure de destino na sua assinatura.
  5. Selecione o local dos backups de banco de dados. Os backups de banco de dados podem estar localizados em um compartilhamento de rede local ou em um contêiner de Armazenamento de Blobs do Azure.
  6. Crie um novo Serviço de Migração de Banco de Dados do Azure usando o assistente no Azure Data Studio. Se você já criou um Serviço de Migração de Banco de Dados do Azure usando o Azure Data Studio, pode reutilizá-lo.
  7. Opcional: se os backups estiverem em um compartilhamento de rede local, baixe e instale o runtime de integração auto-hospedada em um computador que possa se conectar ao SQL Server de origem e o local que contém os arquivos de backup.
  8. Inicie a migração de banco de dados e monitore o progresso no Azure Data Studio. Você também pode monitorar o progresso no recurso Serviço de Migração de Banco de Dados do Azure no portal do Azure.
  9. Conclua a substituição.
    1. Interromper todas as transações de entrada para o banco de dados de origem.
    2. Faça alterações na configuração do aplicativo para apontar para o banco de dados de destino na Instância Gerenciada de SQL do Azure.
    3. Faça backups de log da parte final do banco de dados de origem no local de backup especificado.
    4. Verifique se todos os backups de banco de dados têm o status Restaurado na página de detalhes de monitoramento.
    5. Selecione Transição completa na página detalhes de monitoramento.

Esta seção apresenta as etapas de alto nível para a migração do SQL Server para a Instância Gerenciada de SQL do Azure com tempo de inatividade mínimo usando o link Instância Gerenciada. Para mais detalhes, leia as instruções em Migrar com o link.

Para migrar com o link, siga estas etapas:

  1. Crie sua Instância Gerenciada de SQL de destino: portal do Azure, PowerShell, CLI do Azure.
  2. Prepare o ambiente para o link.
  3. Configure um link com SSMS ou scripts.
  4. Pare a carga de trabalho.
  5. Valide os dados na instância de destino.
  6. Faça failover do link.

LRS (Serviço de Reprodução de Log)

Esta seção apresenta as etapas de alto nível para migrar do SQL Server para a Instância Gerenciada de SQL do Azure com tempo de inatividade mínimo usando o LRS (Serviço de Reprodução de Log). Para obter instruções detalhadas, confira Migrar bancos de dados do SQL Server usando o Serviço de Reprodução de Log.

Para migrar com o LRS, siga estas etapas:

  1. Crie uma conta de armazenamento do Azure com um contêiner de BLOB.
  2. Autentique-se na conta de armazenamento de Armazenamento de Blobs usando um token SAS ou uma identidade gerenciada e valide o acesso.
  3. Lembre-se de configurar sua estrutura de pastas corretamente caso planeje migrar vários bancos de dados.
  4. Carregue os backups na conta de armazenamento copiando os backups ou fazendo backups diretamente usando o BACKUP TO URL.
  5. Determine se deseja executar o LRS no modo de preenchimento automático ou contínuo.
  6. Inicie o LRS.
  7. Monitore o progresso da migração.
  8. Conclua a migração (se estiver no modo contínuo).

Fazer backup e restaurar

Uma capacidade essencial da Instância Gerenciada de SQL do Azure que permite a migração rápida e fácil de banco de dados é a restauração nativa para a instância gerenciada de SQL dos arquivos (.bak) de backup de banco de dados armazenados no Armazenamento do Azure. O backup e a restauração são operações assíncronas com base no tamanho do banco de dados.

O diagrama a seguir fornece uma visão geral de alto nível do processo:

Diagrama que mostra o SQL Server com uma seta rotulada BACKUP/Upload em uma URL que flui para o Armazenamento do Microsoft Azure e uma segunda seta rotulada RESTAURAR de uma URL que flui do Armazenamento do Microsoft Azure para uma Instância Gerenciada de SQL.

Observação

O tempo para fazer o backup, carregá-lo no armazenamento do Azure e executar uma operação de restauração nativa para a Instância Gerenciada de SQL do Azure se baseia no tamanho do banco de dados. Fatore um tempo de inatividade que seja suficiente para acomodar a operação para bancos de dados grandes.

A tabela a seguir fornece mais informações sobre os métodos que podem ser utilizados, dependendo da versão do SQL Server de origem em execução:

Etapa Mecanismo SQL e versão Método de backup/restauração
Coloque o backup no Armazenamento do Azure Anterior a 2012 SP1 CU2 Upload do arquivo .bak diretamente para o Armazenamento do Microsoft Azure
2012 SP1 CU2 - 2016 Backup direto utilizando a sintaxe WITH CREDENTIAL
2016 e versões posteriores Backup direto utilizando WITH SAS CREDENTIAL
Restaurar do Armazenamento do Azure para uma instância gerenciada RESTORE FROM URL com SAS CREDENTIAL

Importante

Ao migrar um banco de dados protegido com Transparent Data Encryption para uma instância gerenciada usando a opção de restauração nativa, o certificado correspondente do SQL Server local ou da VM do Azure precisa ser migrado antes da restauração do banco de dados. Para etapas detalhadas, consulte Migrar um certificado de um banco de dados protegido por TDE-para a Instância Gerenciada de SQL do Azure.

Não há suporte para restauração de bancos de dados do sistema. Para migrar objetos de nível de instância (armazenados em bancos de dados master ou msdb), recomenda-se fazer o script e executar os scripts T-SQL na instância de destino.

Para migrar usando o backup e a restauração, siga estas etapas:

  1. Faça o backup do banco de dados no Armazenamento de Blobs do Azure. Por exemplo, use o backup para URL no SQL Server Management Studio. Use a Ferramenta do Microsoft Azure para dar suporte a bancos de dados anteriores ao SQL Server 2012 SP1 CU2.

  2. Conecte-se à Instância Gerenciada de SQL do Azure usando o SQL Server Management Studio.

  3. Crie uma credencial usando uma Assinatura de Acesso Compartilhado para acessar a conta de armazenamento de Blobs do Azure com os backups de banco de dados. Por exemplo:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
        WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
            SECRET = '<secret>'
    
  4. Restaure o backup do contêiner de blobs do Armazenamento do Azure. Por exemplo:

    RESTORE DATABASE [TargetDatabaseName]
    FROM URL = 'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. Depois que a restauração for concluída, veja o banco de dados no Pesquisador de Objetos do SQL Server Management Studio.

Para saber mais sobre essa opção de migração, confira Início Rápido: restaurar um banco de dados em uma Instância Gerenciada de SQL do Azure com o SSMS.

Observação

Uma operação de restauração do banco de dados é assíncrona e repetível. Você poderá receber um erro no SQL Server Management Studio se a conexão for interrompida ou o tempo limite expirar. O Banco de Dados SQL do Azure continuará tentando restaurar o banco de dados em segundo plano e você poderá acompanhar o progresso da restauração usando as exibições sys.dm_exec_requests e sys.dm_operation_status.

Sincronização de dados e substituição

Ao usar opções de migração que replicam/sincronizam alterações de dados de origem para o destino continuamente, os dados de origem e o esquema podem ser alterados e dessincronizar do destino. Durante a sincronização de dados, certifique-se de que todas as alterações na origem sejam capturadas e aplicadas ao destino durante o processo de migração.

Depois de confirmar que os dados são iguais na origem e no destino, você pode substituir do ambiente de origem para de destino. É importante planejar o processo de substituição com equipes da empresa/aplicativo para garantir que a interrupção mínima durante a substituição não afete a continuidade dos negócios.

Importante

Para obter detalhes sobre as etapas específicas associadas à execução de uma substituição como parte das migrações usando DMS, confira Executar a substituição de migração.

Pós-migração

Após a fase de migração, você executará uma série de tarefas de pós-migração para garantir que tudo esteja funcionando de maneira estável e eficiente.

A fase pós-migração é essencial para reconciliar eventuais problemas de precisão de dados e verificar a integridade e abordar problemas de desempenho da carga de trabalho.

Monitorar e corrigir aplicativos

Após a conclusão da migração para uma instância gerenciada, é necessário acompanhar o comportamento do aplicativo e o desempenho da carga de trabalho. Este processo inclui as seguintes etapas:

Executar testes

A abordagem de teste para a migração de banco de dados consiste nas seguintes atividades:

  1. Desenvolver testes de validação: Para testar a migração do banco de dados, você precisa usar consultas SQL. Você deve criar as consultas de validação para executar nos bancos de dados de origem e de destino. Suas consultas de validação devem abranger o escopo que você definiu.
  2. Configurar ambiente de teste: O ambiente de teste deve conter uma cópia do banco de dados de origem e do banco de dados de destino. Lembre-se de isolar o ambiente de teste.
  3. Executar testes de validação: Execute os testes de validação na origem e no destino e, em seguida, analise os resultados.
  4. Executar testes de desempenho: Execute o teste de desempenho na origem e no destino e, em seguida, analise e compare os resultados.

Usar recursos avançados

Você pode aproveitar os recursos avançados baseados em nuvem oferecidos pela Instância Gerenciada de SQL do Azure, como alta disponibilidade interna, detecção de ameaças e monitoramento e ajuste da carga de trabalho.

A Análise de SQL do Azure permite monitorar um grande conjunto de instâncias gerenciadas de maneira centralizada.

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