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

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

Este guia ajuda você a migrar sua instância do SQL Server para a Instância Gerenciada SQL do Azure.

Você pode migrar o SQL Server em execução 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 mais informações sobre migração, consulte a visão geral da migração. Para obter outros guias de migração, consulte Migração de banco de dados.

Migration process flow

Pré-requisitos

Para migrar seu SQL Server para a Instância Gerenciada SQL do Azure, verifique se você tem:

Pré-migração

Depois de verificar se o ambiente de origem é suportado, comece com o estágio de pré-migração. Descubra todas as fontes de dados existentes, avalie a viabilidade da migração e identifique quaisquer problemas de bloqueio que possam impedir a migração.

Detetar

Na fase Descobrir, verifique a rede para identificar todas as instâncias e recursos do SQL Server usados pela sua organização.

Use o Azure Migrate para avaliar a adequação da migração de servidores locais, executar dimensionamento baseado em desempenho e fornecer estimativas de custo para executá-los no Azure.

Como alternativa, use o Microsoft Assessment and Planning Toolkit (o "MAP Toolkit") para avaliar sua infraestrutura de TI atual. O kit de ferramentas fornece uma poderosa ferramenta de inventário, avaliação e geração de relatórios para simplificar o processo de planejamento da migração.

Para obter mais informações sobre as ferramentas disponíveis para uso na fase Descoberta, consulte Serviços e ferramentas disponíveis para cenários de migração de dados.

Depois que as fontes de dados forem descobertas, avalie todas as instâncias locais do SQL Server que podem ser migradas para a Instância Gerenciada SQL do Azure para identificar bloqueadores de migração ou problemas de compatibilidade. Prossiga para as seguintes etapas para avaliar e migrar bancos de dados para a Instância Gerenciada SQL do Azure:

Steps for migration to Azure SQL Managed Instance

Avaliação

Nota

Se você estiver avaliando todo o conjunto de dados do SQL Server em escala no VMware, use o Azure Migrate para obter recomendações de implantação do SQL do Azure, dimensionamento de destino e estimativas mensais.

Determine se a Instância Gerenciada SQL é compatível com os requisitos de banco de dados do seu aplicativo. A Instância Gerenciada do SQL foi projetada para fornecer migração fácil de elevação e deslocamento para a maioria dos aplicativos existentes que usam o SQL Server. No entanto, às vezes você pode precisar de recursos ou capacidades que ainda não são suportados e o custo de implementação de uma solução alternativa é muito alto.

A extensão de migração SQL do Azure para o Azure Data Studio fornece uma experiência baseada em assistente perfeita para avaliar, obter recomendações do Azure e migrar seus bancos de dados do SQL Server no local para o SQL Server em Máquinas Virtuais do Azure. Além disso, destacando quaisquer bloqueadores ou avisos de migração, a extensão também inclui uma opção para recomendações do Azure para coletar dados de desempenho de seus bancos de dados para recomendar uma Instância Gerenciada SQL do Azure de tamanho certo para atender às necessidades de desempenho de sua carga de trabalho (com o menor preço).

Você pode usar a extensão de migração SQL do Azure para o Azure Data Studio para avaliar bancos de dados para obter:

Para avaliar seu ambiente usando a extensão de migração SQL do Azure, siga estas etapas:

  1. Abra a extensão de migração SQL do Azure para o Azure Data Studio.
  2. Conectar-se à instância do SQL Server de origem
  3. Clique no botão Migrar para o Azure SQL, no assistente de Migração do SQL do Azure no Azure Data Studio
  4. Selecione as bases de dados para avaliação e, em seguida, clique em Seguinte
  5. Selecione seu destino SQL do Azure, neste caso, Instância Gerenciada SQL do Azure
  6. Clique em Ver/Selecionar para rever o relatório de avaliação
  7. Procure problemas de bloqueio de migração e paridade de recursos. O relatório de avaliação também pode ser exportado para um arquivo que pode ser compartilhado com outras equipes ou funcionários da sua organização.
  8. Determine o nível de compatibilidade do banco de dados que minimiza os esforços pós-migração.

Para obter uma recomendação do Azure usando a extensão de migração do SQL do Azure, siga estas etapas:

  1. Abra a extensão de migração SQL do Azure para o Azure Data Studio.
  2. Conectar-se à instância do SQL Server de origem
  3. Clique no botão Migrar para o Azure SQL, no assistente de Migração do SQL do Azure no Azure Data Studio
  4. Selecione as bases de dados para avaliação e, em seguida, clique em Seguinte
  5. Selecione seu destino SQL do Azure, neste caso, Instância Gerenciada SQL do Azure
  6. Navegue até as seções de recomendações do Azure, clique em Obter recomendação do Azure
  7. Selecione Coletar dados de desempenho agora. Selecione uma pasta no computador local para armazenar os logs de desempenho e selecione Iniciar.
  8. Após 10 minutos, o Azure Data Studio indica que uma recomendação está disponível para a Instância Gerenciada SQL do Azure.
  9. Verifique o cartão da Instância Gerenciada SQL do Azure no painel de destino do SQL do Azure para revisar sua recomendação de SKU da Instância Gerenciada SQL do Azure

Para saber mais, consulte Tutorial: Migrar o SQL Server para a Instância Gerenciada SQL do Azure online usando o Azure Data Studio.

Para saber mais, consulte Tutorial: Migrar o SQL Server para a Instância Gerenciada SQL do Azure offline usando o Azure Data Studio.

Se a avaliação encontrar vários bloqueadores para confirmar que seu banco de dados não está pronto para uma Instância Gerenciada SQL do Azure, considere alternativamente:

Avaliações e análises em escala

A extensão de Migração SQL do Azure para Azure Data Studio e Azure Migrate dá suporte à execução de avaliações dimensionadas e à consolidação dos relatórios de avaliação para análise.

Se você tiver vários servidores e bancos de dados que precisam ser avaliados e analisados em escala para fornecer uma visão mais ampla do conjunto de dados, consulte os links a seguir para saber mais:

Importante

A execução de avaliações em escala para vários bancos de dados também pode ser automatizada usando o Utilitário de Linha de Comando do DMA, que também permite que os resultados sejam carregados no Azure Migrate para análise adicional e prontidão do destino.

Implante em uma instância gerenciada de tamanho ideal

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

Com base nas informações na fase de descoberta e avaliação, crie uma Instância Gerenciada SQL de destino de tamanho apropriado. Você pode fazer isso usando o portal do Azure, o PowerShell ou um Modelo do Azure Resource Manager (ARM).

A Instância Gerenciada SQL é adaptada para cargas de trabalho locais que planejam migrar para a nuvem. Ele apresenta um modelo de compra que oferece maior flexibilidade na seleção do nível certo de recursos para suas cargas de trabalho. No mundo local, você provavelmente está acostumado a dimensionar essas cargas de trabalho usando núcleos físicos e largura de banda de E/S. O modelo de compra para instância gerenciada é baseado em núcleos virtuais, ou "vCores", com armazenamento adicional e E/S disponíveis separadamente. O modelo vCore é uma maneira mais simples de entender seus requisitos de computação na nuvem em comparação com o que você usa no local hoje. Esse modelo de compra permite que você dimensione corretamente seu ambiente de destino na nuvem. Algumas diretrizes gerais que podem ajudá-lo a escolher a camada de serviço e as características corretas são descritas aqui:

  • Com base no uso da CPU de linha de base, você pode provisionar uma instância gerenciada que corresponda ao número de núcleos que você está usando no SQL Server, tendo em mente que as características da CPU podem precisar ser dimensionadas para corresponder às características da VM onde a instância gerenciada está instalada.
  • Com base no uso de memória de linha de base, escolha a camada de serviço que tem memória correspondente. A quantidade de memória não pode ser escolhida diretamente, então você precisaria selecionar a instância gerenciada com a quantidade de vCores que tem memória correspondente (por exemplo, 5,1 GB/vCore na série padrão (Gen5)).
  • 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 Crítica para Negócios (latência menor que 3 ms).
  • Com base na taxa de transferência da linha de base, pré-aloque o tamanho dos dados ou arquivos de log para obter o desempenho esperado de E/S.

Você pode escolher recursos de computação e armazenamento no momento da implantação e, em seguida, alterá-los depois sem introduzir tempo de inatividade para seu aplicativo usando o portal do Azure:

Managed Instance Sizing

Para saber como criar a infraestrutura de rede virtual e uma instância gerenciada, consulte Criar uma instância gerenciada.

Importante

É importante manter a VNet e a sub-rede de destino de acordo com os requisitos da VNet da instância gerenciada. Qualquer incompatibilidade pode impedi-lo de criar novas instâncias ou usar aquelas que você já criou. Saiba mais sobre como criar novas redes e configurar redes existentes .

Migrate

Depois de concluir as tarefas associadas ao estágio de pré-migração, você estará pronto para executar o esquema e a migração de dados.

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

A Instância Gerenciada SQL destina-se a cenários de usuário que exigem migração em massa de banco de dados de implementações de banco de dados local ou de VM do Azure. Eles são a escolha ideal quando você precisa elevar e deslocar o back-end dos aplicativos que usam regularmente funcionalidades de nível de instância e/ou entre bancos de dados. Se esse for o seu cenário, você poderá mover uma instância inteira para um ambiente correspondente no Azure sem a necessidade de rearquitetar seus aplicativos.

Para mover instâncias SQL, você precisa planejar cuidadosamente:

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

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

Este artigo aborda duas das opções de migração recomendadas:

  • Extensão de migração do SQL do Azure para o Azure Data Studio - migração com tempo de inatividade quase nulo.
  • Nativo RESTORE DATABASE FROM URL - usa backups nativos do SQL Server e requer algum tempo de inatividade.

Este guia descreve as duas opções mais populares - o Serviço de Migração de Banco de Dados do Azure (DMS) e o backup e restauração nativos.

Para outras ferramentas de migração, consulte Comparar opções de migração.

Migrar usando a extensão de migração SQL do Azure para o Azure Data Studio (tempo de inatividade mínimo)

Para executar uma migração mínima de tempo de inatividade usando o Azure Data Studio, siga as etapas de alto nível abaixo. Para obter um tutorial passo a passo detalhado, consulte Migrar o SQL Server para uma instância gerenciada SQL do Azure online usando o Azure Data Studio:

  1. Baixe e instale o Azure Data Studio e a extensão de migração SQL do Azure.
  2. Inicie o assistente Migrar para o Azure SQL Migration na extensão no Azure Data Studio.
  3. Selecione bancos de dados para avaliação e exiba a prontidão ou os problemas de migração (se houver). Além disso, colete dados de desempenho e obtenha a recomendação do Azure do tamanho certo.
  4. Selecione sua conta do Azure e sua Instância Gerenciada SQL do Azure de destino em sua assinatura.
  5. Selecione o local dos backups do banco de dados. Os backups de banco de dados podem estar localizados em um compartilhamento de rede local ou no contêiner de Armazenamento de Blob 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ê criou anteriormente um Serviço de Migração de Banco de Dados do Azure usando o Azure Data Studio, poderá reutilizar o mesmo, se desejar.
  7. Opcional: Se os backups estiverem em um compartilhamento de rede local, baixe e instale o tempo de execução de integração auto-hospedado em uma máquina que possa se conectar ao SQL Server de origem e ao local que contém os arquivos de backup.
  8. Inicie a migração do 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 o corte.
    1. Interrompa todas as transações direcionadas para a base 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 SQL do Azure.
    3. Faça todos os backups de log final para o 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 Concluir transferência na página de detalhes de monitorização.

Cópia de segurança e restauro

Um dos principais recursos da Instância Gerenciada SQL do Azure para permitir a migração rápida e fácil do banco de dados é a restauração nativa dos arquivos de backup.bak () do 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:

Diagram shows SQL Server with an arrow labeled BACKUP / Upload to URL flowing to Azure Storage and a second arrow labeled RESTORE from URL flowing from Azure Storage to a SQL Managed Instance.

Nota

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

A tabela a seguir fornece mais informações sobre os métodos que você pode usar dependendo da versão de origem do SQL Server que você está executando:

Passo Mecanismo SQL e versão Método de backup/restauração
Colocar backup no Armazenamento do Azure Antes de 2012 SP1 CU2 Carregue .bak arquivo diretamente no Armazenamento do Azure
2012 SP1 CU2 - 2016 Backup direto usando sintaxe WITH CREDENTIAL preterida
2016 e superior Backup direto usando WITH SAS CREDENTIAL
Restaurar do Armazenamento do Azure para uma instância gerenciada RESTAURAR A PARTIR DO URL com CREDENCIAL SAS

Importante

  • Quando você está migrando um banco de dados protegido pela Criptografia de Dados Transparente 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 obter etapas detalhadas, consulte Migrar um certificado TDE para uma instância gerenciada.
  • Não há suporte para a restauração de bancos de dados do sistema. Para migrar objetos no nível da instância (armazenados em bancos de dados ou em bancos de dados), recomendamos criá-los em master script e executar scripts T-SQL na instância de msdb destino.

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

  1. Faça backup do seu banco de dados no Armazenamento de Blobs do Azure. Por exemplo, use 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 à sua Instância Gerenciada SQL do Azure usando o SQL Server Management Studio.

  3. Crie uma credencial usando uma Assinatura de Acesso Compartilhado para acessar sua conta de armazenamento de Blob do Azure com seus backups de banco de dados. Por exemplo:

    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/databases]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = 'sv=2017-11-09&ss=bfqt&srt=sco&sp=rwdlacup&se=2028-09-06T02:52:55Z&st=2018-09-04T18:52:55Z&spr=https&sig=WOTiM%2FS4GVF%2FEEs9DGQR9Im0W%2BwndxW2CQ7%2B5fHd7Is%3D'
    
  4. Restaure o backup do contêiner de blob de armazenamento do Azure. Por exemplo:

    RESTORE DATABASE [TargetDatabaseName] FROM URL =
      'https://mitutorials.blob.core.windows.net/databases/WideWorldImporters-Standard.bak'
    
  5. Após a conclusão da restauração, exiba o banco de dados no Pesquisador de Objetos no SQL Server Management Studio.

Para saber mais sobre essa opção de migração, consulte Restaurar um banco de dados para a Instância Gerenciada SQL do Azure com SSMS.

Nota

Uma operação de restauração de banco de dados é assíncrona e pode ser repetida. Você pode receber um erro no SQL Server Management Studio se a conexão for interrompida ou um 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 e substituição de dados

Ao usar opções de migração que replicam/sincronizam continuamente as alterações de dados da origem para o destino, os dados de origem e o esquema podem ser alterados e desviados 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 verificar se os dados são os mesmos na origem e no destino, você pode fazer o corte do ambiente de origem para o de destino. É importante planejar o processo de substituição com as equipes de negócios/aplicativos para garantir que a interrupção mínima durante a transferência 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 o DMS, consulte Executando a substituição de migração.

Pós-migração

Depois de concluir com êxito o estágio de migração, passe por uma série de tarefas pós-migração para garantir que tudo esteja funcionando de forma suave e eficiente.

A fase pós-migração é crucial para conciliar quaisquer problemas de precisão de dados e verificar a integridade, além de resolver problemas de desempenho com a carga de trabalho.

Monitorar e corrigir aplicativos

Depois de concluir a migração para uma instância gerenciada, você deve acompanhar o comportamento do aplicativo e o desempenho da sua carga de trabalho. Este processo inclui as seguintes atividades:

Realizar testes

A abordagem de teste para 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 serem executadas nos bancos de dados de origem e de destino. Suas consultas de validação devem cobrir 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. Certifique-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.

Use recursos avançados

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

O Azure SQL Analytics permite monitorar um grande conjunto de instâncias gerenciadas de forma centralizada.

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

Próximos passos