Usar o LRS (Log Replay Service) para migrar

Concluído

O LRS (Log Replay Service) é uma ferramenta que permite migrações personalizadas de bancos de dados de SQL Servers locais para Instância Gerenciada de SQL na nuvem. Ele usa a tecnologia de envio de logs e é útil em casos em que mais controle é necessário, quando há pouca tolerância para tempo de inatividade ou quando o Serviço de Migração de Dados do Azure não pode ser usado.

Diagram showing how Log Replay Service (LRS) works.

O LRS pode ser usado diretamente com o PowerShell, cmdlets da CLI ou API para criar e orquestrar manualmente migrações de banco de dados para a Instância Gerenciada de SQL. Algumas das razões para considerar o uso do LRS incluem:

  • Mais controle sobre o projeto de migração de banco de dados
  • Pouca tolerância para tempo de inatividade na substituição da migração
  • Incapacidade de instalar o arquivo executável DMS no ambiente
  • Falta de acesso a arquivos para backups de banco de dados
  • Incapacidade de abrir portas de rede do ambiente para o Azure

Compreender os tipos de migração

Há dois modos de migração disponíveis para o LRS.

Modo Descrição Recomendado para Disponibilidade da cadeia de backup
Preenchimento automático Conclui automaticamente a migração quando o último arquivo de backup é restaurado Cargas de trabalho passivas Toda a cadeia de backup deve estar disponível com antecedência
Contínuo Verifica continuamente novos arquivos de backup e os restaura, permitindo a recuperação de dados Cargas de trabalho ativas A cadeia de backup pode ser adicionada durante a migração

Independentemente do modo, planeje concluir a migração dentro de 30 dias, pois o trabalho LRS será automaticamente cancelado após esse período.

Proteger o processo de migração

Para executar o LRS, você deve ter uma das seguintes funções de RBAC (controle de acesso baseado em função) do Azure: Proprietário da Assinatura, Colaborador da Instância Gerenciada de SQL ou uma função personalizada com a permissão Microsoft.Sql/managedInstances/databases/*.

Uma conta de Armazenamento de Blobs do Azure é necessária e funciona como um armazenamento intermediário para arquivos de backup entre a Instância do SQL Server e sua Instância Gerenciada de SQL. Para usar o armazenamento de Blobs do Azure com um firewall, outra configuração é necessária. Você deve adicionar a sub-rede da Instância Gerenciada SQL às regras de firewall de rede virtual da conta de armazenamento usando a delegação de sub-rede de MI e o ponto de extremidade do serviço de Armazenamento. Além disso, você pode usar um token SAS ou uma identidade gerenciada para acessar sua conta de Armazenamento de Blobs do Azure, mas não ambos.

Melhorar o desempenho de backup e restauração

Você pode dividir backups completos e diferenciais em vários arquivos, em vez de usar um único arquivo, para melhorar o desempenho de backup e restauração. Isso ocorre porque vários arquivos podem ser lidos ou gravados em paralelo, reduzindo o tempo necessário para concluir a operação de backup ou restauração.

Além disso, a habilitação da compactação de backup pode ajudar a melhorar as velocidades de transferência de rede. Os backups compactados são menores, o que significa que levam menos tempo para serem transferidos pela rede. Isso pode ser especialmente útil ao transferir backups grandes de ou para o Azure.

É altamente recomendável habilitar CHECKSUM para backups, mesmo que não seja necessário. A Instância Gerenciada de SQL executa uma verificação de integridade em backups sem CHECKSUM, o que pode aumentar o tempo necessário para restaurar o banco de dados. Ao habilitar o CHECKSUM, você pode acelerar as operações de restauração.