Partilhar via


Preparar ambiente para migração LRS - Migração SQL Server no Azure Arc

Aplica-se a:SQL Server

Este artigo ajuda-o a preparar o seu ambiente para uma migração do Log Replay Service (LRS) da sua instância SQL Server habilitada pelo Azure Arc para a Instância Gerida Azure SQL no portal Azure.

Com o LRS, pode migrar as suas bases de dados SQL Server para Azure SQL Managed Instance usando backup e restauro através do envio de log (migração online):

Diagrama a mostrar a migração do Log Replay Service.

Observação

Pode fornecer feedback sobre a sua experiência de migração diretamente ao grupo de produtos.

Pré-requisitos

Para migrar as suas bases de dados SQL Server para Azure SQL Managed Instance através do portal Azure, precisa dos seguintes pré-requisitos:

Versões suportadas do SQL Server

A migração com LRS funciona com todas as edições do SQL Server no Windows. Embora a migração para os níveis de serviço de Propósito Geral e Crítico de Negócio da Instância Gerida SQL seja suportada, migrar diretamente para o nível de serviço Crítico de Negócio tem algumas limitações importantes a considerar.

A tabela seguinte lista as versões mínimas suportadas do SQL Server para LRS:

Versão do SQL Server Atualização mínima obrigatória de manutenção
SQL Server 2025 (17.x) SQL Server 2025 RTM (17.0.1000.7)
SQL Server 2022 (16.x) SQL Server 2022 RTM (16.0.1000.6)
SQL Server 2019 (15.x) SQL Server 2019 RTM (15.0.2000.5)
SQL Server 2017 (14.x) SQL Server 2017 RTM (14.0.1000.169)
SQL Server 2016 (13.x) SQL Server 2016 RTM (13.0.1400.361)
SQL Server 2014 (12.x) SQL Server 2014 RTM (12.0.2000.8)
SQL Server 2012 (11.x) SQL Server 2012 RTM (11.0.2100.60)

A migração reversa é suportada apenas para SQL Server 2025 e SQL Server 2022 a partir de instâncias geridas por SQL com a respetiva política de atualização. Pode reverter manualmente uma migração através de outras ferramentas, como backup e restauro nativos, ou configurar manualmente um link no SSMS.

Permissions

Esta seção descreve as permissões necessárias para migrar sua instância do SQL Server para a Instância Gerenciada do SQL por meio do portal do Azure.

Na instância do SQL Server de origem, você precisa das seguintes permissões:

  • Se ativar o privilégio mínimo, as permissões necessárias, como administrador de sistemas , são concedidas conforme necessário durante o processo de migração da base de dados.
  • Se não conseguires usar o privilégio mínimo, precisas de permissões de sysadmin na instância SQL Server de origem.

Para migrar com o LRS, você precisa de uma das seguintes permissões no destino da Instância Gerenciada SQL:

Criar uma conta de armazenamento

Você usa uma conta de Armazenamento de Blob do Azure como armazenamento intermediário para arquivos de backup entre sua instância do SQL Server e sua implantação de Instância Gerenciada do SQL. A conta de armazenamento tem de estar na mesma subscrição do Azure que o seu destino de Instância Gerida do SQL.

Para criar uma nova conta de armazenamento e um contêiner de blob dentro da conta de armazenamento:

  1. Crie uma conta de armazenamento:
    1. Procure contas de Armazenamento no portal Azure e selecione Criar.
    2. No separador Básicos , selecione a sua subscrição e grupo de recursos. A região deve ser a mesma que o destino do seu SQL Managed Instance.
    3. Deixe o tipo de armazenamento preferencial em branco.
    4. Utilize as definições padrão para as abas restantes e selecione Rever + criar.
    5. Depois que a validação for aprovada, selecione Criar.
  2. Crie um contêiner de blob dentro da conta de armazenamento.
    1. Aceda à sua nova conta de armazenamento no portal do Azure.
    2. Em Armazenamento de dados, selecione Contêineres.
    3. Use Adicionar recipiente para abrir o novo painel de contentores .
    4. Introduza um nome para o seu contentor, deixe as opções nos valores predefinidos e selecione Criar para criar o seu contentor.
  3. (Opcional) Se o seu Azure Storage estiver atrás de um firewall, o seu Azure Blob Storage requer configuração adicional após a sua instância gerida SQL ser provisionada.

Conceder permissões ao Azure Blob Storage

A migração do SQL Server no Azure Arc com LRS utiliza uma identidade gerida para autenticar no Azure Blob Storage.

Precisa de conceder as seguintes permissões:

Conceder acesso ao utilizador à conta de armazenamento

Para aceder aos backups da base de dados durante o processo de migração, atribuir ao utilizador que inicia sessão no portal do Azure e realiza a migração à função Leitor de Dados de Blob de Armazenamento na conta de armazenamento que contém os backups.

Para atribuir o papel, siga estes passos:

  1. No portal Azure, vai ao grupo de recursos que contém a tua conta de armazenamento.

  2. Selecione Controle de acesso (IAM) no menu de recursos.

  3. Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de funções .

  4. Procure e selecione a função Leitor de Dados de Blob de Armazenamento. Em seguida, selecione Avançar.

    Captura de ecrã a encontrar a função Storage Blob Data Reader na página IAM para a conta de armazenamento no portal do Azure.

  5. Use + Selecionar membros para abrir o painel Selecionar membros e procure a conta de utilizador da pessoa que realiza a migração. Se várias pessoas estiverem a migrar dados, conceda este acesso a todos esses utilizadores. Selecione a conta de utilizador e depois use Select para guardar a sua seleção. Verifique a opção de atribuir acesso a Utilizador, grupo ou principal de serviço.

  6. Selecione Rever + atribuir para ir ao separador Rever + atribuir , e depois selecione Rever + atribuir novamente para completar a atribuição de funções.

Conceder acesso aos utilizadores ao grupo de recursos

Para aceder às cópias de segurança da base de dados durante o processo de migração, o utilizador que inicia sessão no portal Azure e realiza a migração precisa de ser atribuído ao papel de Leitor no grupo de recursos que contém a conta de armazenamento.

Para atribuir o papel, siga estes passos:

  1. No portal Azure, vai ao grupo de recursos que contém a tua conta de armazenamento.

  2. Selecione Controle de acesso (IAM) no menu de recursos.

  3. Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de funções .

  4. Procure e selecione a função Leitor . Em seguida, selecione Avançar.

    Captura de ecrã de encontrar a função de Leitor na página de Identidade e Gestão de Acesso para o grupo de recursos no portal Azure.

  5. Use + Selecionar membros para abrir o painel Selecionar membros e procure a conta de utilizador da pessoa que realiza a migração. Se várias pessoas estiverem a migrar dados, conceda este acesso a todos esses utilizadores. Selecione a conta de utilizador e depois use Select para guardar a sua seleção. Verifique a opção de atribuir acesso a Utilizador, grupo ou principal de serviço e depois use Próximo para continuar.

  6. No separador Tipo de Atribuição , defina o tipo de Atribuição para Ativo e a duração da Atribuição para Permanente:

    Captura de ecrã de definir o tipo de Atribuição para Ativo e a duração da Atribuição para Permanente no separador Tipo de Atribuição no portal Azure.

  7. Selecione Rever + atribuir para ir ao separador Rever + atribuir , e depois selecione Rever + atribuir novamente para completar a atribuição de funções.

Conceder acesso de identidade gerida à conta de armazenamento

Depois de a sua instância SQL gerida ser provisionada, precisa de atribuir à identidade gerida da sua instância SQL gerida a função de Leitor de Dados de Blob de Armazenamento para que possa aceder à sua conta de Azure Blob Storage durante o processo de migração.

Primeiro, deve determinar que tipo de identidade gerida a sua instância SQL gerida utiliza. Para fazer isso, execute as seguintes etapas:

  1. Vá para a sua instância gerenciada do SQL no portal do Azure.
  2. Em Segurança, selecione Identidade.
    1. Se em Identidade gerida atribuída pelo Utilizador vir Nenhuma identidade gerida atribuída pelo utilizador encontrada, a sua instância gerida SQL usa a identidade gerida atribuída pelo sistema por defeito.
    2. Se vires uma entrada no campo Identidade Primária , então a tua instância gerida SQL usa uma identidade gerida personalizada atribuída pelo utilizador. Anote esta identidade para usar na etapa em que seleciona esta identidade gerida ao conceder acesso de Storage Blob Data Reader à conta de armazenamento.

Para conceder acesso à conta de armazenamento, siga estes passos:

  1. Vai à conta Azure Blob Storage no portal Azure que pretendes usar para a migração.
  2. Selecione Controle de acesso (IAM) no menu de recursos.
  3. Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de funções .
  4. Procure e selecione a função Leitor de Dados de Blob de Armazenamento. Em seguida, selecione Avançar.
  5. No Atribuir acesso a, marque a opção Identidade Gerida.
  6. Use membros selecionados para abrir o painel de membros selecionados .
  7. Se a sua instância gerida SQL usar a identidade gerida atribuída por padrão ao sistema:
    1. Em Identidade Gerida, selecione Instância Gerida SQL.
    2. Pesquise e selecione o nome da sua instância gerida por SQL.
    3. Use Select para guardar a sua seleção.
  8. Se a sua instância gerida SQL usar uma identidade gerida atribuída pelo utilizador:
    1. Em Identidade Gerida, selecione Identidade gerida atribuída pelo Utilizador.
    2. Procura o nome de identidade primário que mencionaste anteriormente na página de Identidade da tua instância gerida em SQL e seleciona-o.
    3. Use Select para guardar a sua seleção.
  9. Selecione Rever + atribuir para ir ao separador Rever + atribuir , e depois selecione Rever + atribuir novamente para completar a atribuição de funções.

Depois de carregar pelo menos um backup completo para esta conta de armazenamento, pode executar o seguinte comando na sua instância gerida SQL para verificar se ela pode aceder à sua conta Azure Blob Storage:

RESTORE HEADERONLY
    FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';

Carregue backups para sua conta de armazenamento de Blob

Quando o seu contentor de blob estiver pronto e confirmar que a sua instância gerida por SQL pode aceder ao container, pode começar a carregar os seus backups para a sua conta Azure Blob Storage. Quando todas as suas cópias de segurança forem carregadas para a sua conta de armazenamento, está pronto para avançar com a migração.

Para carregar os seus backups no Azure:

Considere as seguintes práticas recomendadas:

  • Efetue backups com as opções COMPRESSION e CHECKSUM para reduzir o tamanho dos ficheiros de backup e evitar a migração de uma base de dados corrompida.
  • Faça backups em lotes mais pequenos.
  • Utilize linhas de upload paralelas.
  • Faça o último ficheiro de backup o mais pequeno possível.
  • Para migrar vários bancos de dados usando o mesmo contêiner de Armazenamento de Blob do Azure, coloque todos os arquivos de backup de um banco de dados individual em uma pasta separada dentro do contêiner. Use a estrutura de arquivo simples para cada pasta de banco de dados. Não há suporte para aninhamento de pastas dentro de pastas de banco de dados.

Fazer backups em uma instância do SQL Server

Defina os bancos de dados que você deseja migrar para o modelo de recuperação completa para permitir backups de log.

-- To permit log backups, before the full database backup, modify the database to use the full recovery
USE master;

ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO

Se ainda não tiver backups existentes, para fazer manualmente backups completos, diferenciais e de registo da sua base de dados para armazenamento local, use os seguintes scripts T-SQL de exemplo. CHECKSUM não é necessário, mas é recomendado para evitar a migração de um banco de dados corrompido e para tempos de restauração mais rápidos.

O exemplo a seguir faz um backup completo do banco de dados para o disco local:

-- Take full database backup to local disk
BACKUP DATABASE [SampleDB]
    TO DISK = 'C:\BACKUP\SampleDB_full.bak'
    WITH INIT, COMPRESSION, CHECKSUM;
GO

O exemplo a seguir usa um backup diferencial para o disco local:

-- Take differential database backup to local disk
BACKUP DATABASE [SampleDB]
    TO DISK = 'C:\BACKUP\SampleDB_diff.bak'
    WITH DIFFERENTIAL, COMPRESSION, CHECKSUM;
GO

O exemplo a seguir usa um backup de log de transações para o disco local:

-- Take transactional log backup to local disk
BACKUP LOG [SampleDB]
    TO DISK = 'C:\BACKUP\SampleDB_log.trn'
    WITH COMPRESSION, CHECKSUM;
GO

Copiar backups para a sua conta de armazenamento Blob

Depois de os seus backups estarem prontos e quiser começar a migrar bases de dados para uma instância gerida SQL usando LRS, use as seguintes abordagens para copiar backups existentes para a sua conta de Blob Storage:

Observação

Para migrar vários bancos de dados usando o mesmo contêiner de Armazenamento de Blob do Azure, coloque todos os arquivos de backup de um banco de dados individual em uma pasta separada dentro do contêiner. Use a estrutura de arquivo simples para cada pasta de banco de dados. Não há suporte para aninhamento de pastas dentro de pastas de banco de dados.

Limitações

As limitações do LRS aplicam-se às migrações através do portal Azure.

Limitações ao migrar para a camada de serviço Crítica para os Negócios

Ao migrar para uma instância gerenciada SQL na camada de serviço Business Critical, considere as seguintes limitações:

  • Ao migrar grandes bases de dados, pode experimentar um tempo considerável de inatividade porque as bases de dados ficam indisponíveis após a troca, enquanto são implementadas nas réplicas secundárias do nível de serviço Business Critical. As soluções alternativas estão listadas na secção de transição mais longa.
  • A migração reinicia automaticamente desde o início se um failover imprevisto, uma atualização do sistema ou um patch de segurança interromper a migração. Esta limitação dificulta o planeamento de uma migração previsível sem surpresas de última hora.

Importante

Estas limitações só se aplicam ao migrar para a Instância Gerida Azure SQL na camada de serviço Crítico de Negócio , e não para a camada de serviço de Uso Geral .

Transição mais longa no nível de serviço Criticamente Importante para os Negócios

Se você estiver migrando para uma Instância Gerenciada SQL na camada de serviço Business Critical, considere o atraso em colocar os bancos de dados online na réplica primária enquanto estão a ser implementados para as réplicas secundárias. Este atraso é especialmente verdadeiro para bases de dados maiores.

A migração para uma instância gerenciada SQL na camada de serviço Business Critical leva mais tempo para ser concluída do que na camada de serviço de uso geral. Depois de concluída a transição para a Azure, as bases de dados ficam indisponíveis até serem replicadas da réplica primária para as três réplicas secundárias. O processo de semeadura pode demorar um período prolongado dependendo do tamanho da sua base de dados. Quanto maior o banco de dados, mais tempo o processo de propagação para as réplicas secundárias leva - potencialmente até várias horas.

Se for importante que as bases de dados estejam disponíveis assim que o cutover terminar, considere as seguintes soluções alternativas:

  • Migre primeiro para o nível de serviço de Uso Geral e depois atualize para o nível de serviço Crítico de Negócio . A atualização da camada de serviço é uma operação online que mantém os bancos de dados online até que, como etapa final da operação de atualização, ocorra um breve failover.
  • Use o link Instância Gerenciada para uma migração on-line para uma instância Business Critical sem ter que esperar que os bancos de dados estejam disponíveis após a transferência.

O monitoramento da migração por meio do portal do Azure está disponível apenas para instâncias do SQL Server que atendem aos requisitos de licenciamento de monitoramento.

Resolver problemas comuns

Para resolver problemas comuns ao migrar para Azure SQL Managed Instance, consulte Resolução de problemas de migração.