Examinar as estratégias e ferramentas de migrações

Concluído

No contexto de migração do SQL Server, um planejamento cuidadoso é essencial para garantir uma migração bem-sucedida. Esse planejamento envolve abordar os aspectos de como e o porquê da migração.

Uma representação visual do processo de migração do SQL Server que enfatiza a compreensão dos benefícios, a utilização de ferramentas e o equilíbrio do tempo de inatividade para uma migração bem-sucedida.

  1. Entender o porquê implica reconhecer os benefícios após a conclusão da migração.
  2. O como engloba a seleção de ferramentas de migração apropriadas e o desenvolvimento de um plano de migração abrangente.
  3. Um elemento fundamental nesse processo é avaliar o tempo de inatividade que a organização está disposta a tolerar. Minimizar o tempo de inatividade durante o processo de migração é fundamental para manter a eficiência e a continuidade operacional.

Nesse projeto de migração, sua equipe iniciou o processo com uma reunião inicial. Sua função é explorar as ferramentas para migrar alguns SQL Servers e fornecer insights sobre o possível impacto nos custos futuros de licenciamento do SQL. Além disso, você precisa chegar a um contrato sobre o nível aceitável de tempo de inatividade. O gerente de projetos também deseja incorporar uma fase de teste, durante a qual alguns servidores serão migrados para teste antes de executar a migração completa.

Entender os benefícios da migração

Você provavelmente trabalhou com máquinas virtuais em sua própria infraestrutura usando o Hyper-V ou máquinas virtuais de outros fornecedores. Como resultado, a migração para essa plataforma não deve apresentar uma curva de aprendizado acentuada.

O uso de uma VM (máquina virtual) permite que você tenha controle administrativo total sobre o sistema operacional do host e a instância do SQL Server. Você pode configurar e gerenciar alta disponibilidade, recuperação de desastre e aplicação de patches para o SQL Server de modo mais fácil do que em computadores locais. Você também pode configurar backups e atualizações automáticas que facilitarão sua carga administrativa geral. A execução do SQL Server na Máquina Virtual do Azure oferece suporte total a esses componentes do SQL Server:

  • Replicação transacional do SQL Server
  • Grupos de disponibilidade AlwaysOn
  • Integration Services
  • Analysis Services
  • Reporting Services
  • Envio de logs

O SQL Server é otimizado para a migração de aplicativos existentes do SQL Server para máquinas virtuais do Azure, com suporte para até 256 TB de armazenamento. Todas as versões e edições do SQL Server estão disponíveis e oferecem uma compatibilidade de 100% com suas versões locais do SQL Server.

Licenciamento

Há três tipos de modelo de licenciamento que podem ser usados para máquinas virtuais do SQL Server hospedadas no Azure. Avalie qual é a mais apropriada para o seu cenário de migração.

  • No modelo PAYG (Pagamento Conforme o Uso), o custo por segundo da execução da VM do Azure inclui o custo da licença do SQL Server.

  • O modelo BYOL (traga sua própria licença) também é conhecido como AHB (Benefício Híbrido do Azure) e permite que você use sua própria licença do SQL Server com uma VM executando o SQL Server, pagando apenas pelo uso da VM. Essa opção está disponível somente para clientes que têm um Contrato Enterprise.

  • O modelo de licença de HA/DR (alta disponibilidade/recuperação de desastre) é usado para a réplica gratuita de HA/DR no Azure. Se você tiver o Software Assurance, poderá implementar planos híbridos de recuperação de desastre com o SQL Server sem incorrer em custos adicionais de licenciamento para a instância passiva de recuperação de desastre.

Dica

Para saber como alterar o modelo de licença de uma máquina virtual SQL no Azure, confira Alterar o modelo de licença de uma máquina virtual SQL no Azure.

Rede

Se você provisionar uma VM do SQL Server no portal do Azure, terá a opção de especificar o tipo de conectividade SQL, que inclui:

  • Público: conecte-se ao SQL Server pela Internet.
  • Particular: conecte-se ao SQL Server na mesma rede virtual.
  • Local: conecte-se ao SQL Server localmente na mesma máquina virtual.

Se você deseja se conectar ao mecanismo de banco de dados do SQL Server pela Internet, selecione Público. O portal execute automaticamente estas etapas:

  • Habilita o protocolo TCP/IP para o SQL Server.
  • Configura uma regra de firewall para abrir a porta TCP do SQL Server (padrão 1433).
  • Habilita a Autenticação do SQL Server, necessária para acesso público.
  • Configura o grupo de segurança de rede na VM para todo o tráfego TCP na porta do SQL Server.

Quando você escolhe Privada como o tipo de Conectividade SQL no portal, o Azure define a maioria das configurações de forma idêntica a Pública. A diferença é que não há uma regra de grupo de segurança de rede para permitir o tráfego externo na porta do SQL Server (padrão 1433). Você pode alterar as configurações de conectividade de sua máquina virtual do SQL no portal do Azure.

Gerenciamento de chaves

O SQL Server fornece recursos de criptografia que exigem que você gerencie e armazene as chaves de criptografia. O serviço Cofre da Chave do Azure (AKV) foi criado para melhorar a segurança e o gerenciamento dessas chaves em um local seguro e altamente disponível. O SQL Server Connector permite que o SQL Server use essas chaves do Azure Key Vault.

Você pode economizar tempo usando o recurso de integração do AKV. Quando esse recurso é habilitado, ele instala automaticamente o Conector do SQL Server. Em seguida, o recurso configura o provedor EKM (gerenciamento extensível de chaves) para acessar o AKV e cria as credenciais para permitir que você acesse seu cofre.

Dimensionamento de máquina virtual

Para começar, você pode escolher uma imagem de máquina virtual do SQL Server com a versão, a edição e o sistema operacional necessários. Além disso, você pode configurar o número de CPUs e memória para o tamanho apropriado para suas cargas de trabalho.

Muitas das opções de ajuste de desempenho do banco de dados, que você usa para garantir que seu SQL Server funcione bem para suas cargas de trabalho locais, ainda se aplicam ao SQL Server em execução em uma VM do Azure. Há outras considerações que você precisa levar em conta, incluindo o tamanho da VM e a configuração dos discos. Use a lista de verificação a seguir como um guia para garantir que você tenha o desempenho ideal configurado para o SQL Server em execução na Máquina Virtual do Azure.

Métrica de desempenho Opção de otimização
Máquina virtual
  • O tamanho mínimo da máquina virtual que deve ser selecionado para as edições Enterprise do SQL Server é DS3_v2 ou superior
  • Para a edição Standard ou Web, use DS2_v2 como tamanho mínimo
Armazenamento
  • Use os SSDs Premium nas cargas de trabalho de produção
  • Armazenamento Standard para ambiente de desenvolvimento/teste
  • Verifique se o armazenamento está colocalizado no mesmo local que a máquina virtual
Discos
  • Use no mínimo dois discos P30 (um para arquivos de log e um para arquivos de dados incluindo o TempDB)
  • Para cargas de trabalho que exijam aproximadamente 50.000 IOPS, considere o uso de um SSD Ultra
  • Evite usar o sistema operacional ou discos temporários para armazenamento de banco de dados ou registro em log
  • Habilite o cache de leitura nos discos que hospedam os arquivos de dados e os arquivos de dados TempDB
  • Não habilite o cache em discos que hospedam o arquivo de log
  • Particione vários discos de dados do Azure para obter maior taxa de transferência de E/S
  • Formate com os tamanhos de alocação documentados
  • Coloque o TempDB no SSD local para cargas de trabalho do SQL Server críticas (depois de escolher o tamanho correto de VM)
E/S
  • Habilite a compactação de página do banco de dados
  • Habilite a inicialização instantânea de arquivos para arquivos de dados
  • Limite o aumento automático do banco de dados
  • Desabilite a redução automática do banco de dados
  • Mova todos os bancos de dados para discos de dados, incluindo bancos de dados do sistema
  • Mova o log de erros do SQL Server e os diretórios de arquivos de rastreamento para discos de dados
  • Configure os locais do arquivo de banco de dados e backup padrão
  • Habilite as páginas bloqueadas
  • Aplique correções de desempenho do SQL Server

Pode haver uma configuração de desempenho específica que você queira aplicar que seja específica para a sua carga de trabalho. Teste as configurações em um ambiente de teste antes da migração.

Ferramentas e recursos para dar suporte à sua migração

Há várias maneiras diferentes de migrar seu SQL Server para uma Máquina Virtual do Azure. A primeira etapa do processo é provisionar uma VM do Azure que tenha o SQL Server instalado.

Você obtém o melhor desempenho de transferência de dados ao migrar os arquivos de banco de dados para a VM do Azure usando um arquivo de backup compactado.

Para minimizar o tempo de inatividade durante o processo de migração de banco de dados, use a opção Always On ou a opção de replicação transacional. Se não for possível usar qualquer um dos métodos acima, você ainda poderá migrar manualmente seu banco de dados.

Essas são as principais ferramentas e recursos para dar suporte e migrar seus bancos de dados do SQL Server para o SQL Server em execução em uma Máquina Virtual do Azure.

  • Extensão de Migração do SQL do Azure para o Azure Data Studio A extensão de Migração do SQL do Azure é alimentada com a última versão do Serviço de Migração de Banco de Dados do Azure e auxilia na avaliação da preparação para migração, fornecendo recomendações de SKU apropriadas para recursos do Azure e facilitando a migração do seu banco de dados do SQL Server para o Azure, sendo ideal para bancos de dados de pequeno a médio porte. Ela é fornecida pela última versão dos Serviços de Migração de Dados e fornece um recurso de avaliação avançada que avalia os bancos de dados do SQL Server que estão prontos para a migração para o SQL do Azure.

  • Backup e restauração com o Armazenamento de Blobs do Azure: você pode restaurar um banco de dados do Armazenamento de Blobs do Azure para o SQL Server em execução em uma Máquina Virtual do Azure.

  • Desanexar e anexar a partir de uma URL: desanexe o banco de dados e os arquivos de log e transfira-os para uma conta de Armazenamento do Azure. Em seguida, anexe o banco de dados da URL do blob em sua Máquina Virtual do Azure.

  • Envio de logs: o envio de logs é um método para migrar um banco de dados do SQL Server para uma VM do Azure. Ele envolve a sincronização contínua de uma cópia secundária do banco de dados no servidor de destino usando backups do registro de transações do servidor de origem. Quando estiver pronto, o backup de log final é aplicado à VM do Azure, permitindo uma migração perfeita com o mínimo de tempo de inatividade.

  • Migrações para Azure: as Migrações para Azure são um serviço de migração abrangente que oferece suporte a uma ampla gama de cenários de migração, incluindo a migração do SQL Server. As Migrações para Azure fornecem um pacote de ferramentas projetadas para avaliação e migração de servidores locais, infraestrutura, aplicativos e dados em escala, com a finalidade de migrá-los para o Azure.

  • DEA (Assistente para Experimentos de Banco de Dados): use-o para avaliar se o servidor de destino pode lidar com a carga de trabalho se você estiver preocupado com o desempenho. Você pode usar as métricas de análise para fornecer dados de comparação para permitir que você decida se a versão de destino fornecerá uma experiência melhor após a migração.

  • AMD (Assistente de Migração de Dados): use-o para migrar o esquema do banco de dados, os dados, os usuários, as funções de servidor, o SQL Server e os logons do Windows de um SQL Server local para um SQL Server na Máquina Virtual do Azure. A ferramenta executará primeiro uma avaliação que solicitará que você resolva qualquer problema de compatibilidade. Em seguida, você pode usar a mesma ferramenta para migrar os dados e o esquema de banco de dados avaliado para o Azure.

Observação

Embora o Assistente de Migração de Dados seja uma ferramenta útil disponível, recomendamos que você use o Serviço de Migração de Banco de Dados do Azure em migrações grandes e para ter experiência geral aprimorada.

Dica

Para saber como avaliar instâncias do SQL Server locais para migrar para o SQL do Azure e como descobrir novos recursos na plataforma do SQL Server de destino da qual o banco de dados pode se beneficiar após uma atualização, confira o módulo Avaliar bancos de dados do SQL Server para migração para o SQL do Azure.

Definir sua abordagem de migração

É importante considerar os requisitos de tempo de inatividade do negócio associados à migração, esteja você migrando para o SQL Server em uma máquina virtual ou para um Banco de Dados SQL do Azure.

O método escolhido para migrar o banco de dados geralmente depende da quantidade de tempo que os bancos de dados do SQL Server podem ficar offline. Outro fator em sua decisão pode ser o quanto do processo você gostaria de automatizar, em comparação com a migração manual. Há três tipos de migrações com base no tempo de inatividade:

  • Migração sem tempo de inatividade
  • Migração com janela de manutenção pequena
  • Migração com janela de manutenção grande

Migração sem tempo de inatividade

As migrações sem tempo de inatividade normalmente são exigidas por cargas de trabalho críticas. Você pode usar grupos de disponibilidade Always On para replicar dados de um banco de dados do SQL Server para o SQL Server na Máquina Virtual do Azure.

Migração com janela de manutenção pequena

AS janelas de manutenção pequenas geralmente são medidas em minutos. Use o Serviço de Migração de Banco de Dados do Azure para replicar e migrar dados de um banco de dados do SQL Server no local para um SQL Server em execução na Máquina Virtual do Azure.

Observação

Para migrar um aplicativo inteiro, use o Azure Site Recovery.

Migração com janela de manutenção grande

As janelas de manutenção grandes são geralmente medidas em horas ou dias e são adequadas para bancos de dados de aplicativos que mudam com pouca frequência ou onde a carga de trabalho não é essencial para os negócios. Você tem várias opções, como usar arquivos de exportação e importação do BACPAC do SQL Server Management Studio, usar uma abordagem de backup e restauração ou desanexar e, em seguida, anexar o banco de dados.