Share via


Tutorial: Migrar o SQL Server para uma Instância Gerenciada SQL do Azure online usando DMS (clássico)

Importante

Serviço de Migração de Banco de Dados do Azure (clássico) - os cenários SQL estão em um caminho de descontinuação. Desde 1º de agosto de 2023, você não pode mais criar novos recursos do Serviço de Migração de Banco de Dados (clássico) para cenários do SQL Server a partir do portal do Azure. O serviço será retirado no dia 15 de março de 2026 para todos os clientes. Para migrações contínuas de várias fontes de banco de dados para Destinos SQL do Azure, a Microsoft recomenda usar a versão mais recente do Serviço de Migração de Banco de Dados do Azure, que está disponível como uma extensão da Migração SQL do Azure no Azure Data Studio, ou por meio do Portal do Azure ou por meio do Azure PowerShell e da CLI do Azure. Para obter mais informações, consulte Aviso de desativação: Serviço de Migração de Banco de Dados (clássico).

Nota

Este tutorial usa uma versão mais antiga do Serviço de Migração de Banco de Dados do Azure. Para melhorar a funcionalidade e a capacidade de suporte, considere migrar para a Instância Gerenciada SQL do Azure usando a extensão de migração SQL do Azure para o Azure Data Studio.

Para comparar recursos entre versões, revise Comparar versões.

Você pode usar o Serviço de Migração de Banco de Dados do Azure para migrar os bancos de dados de uma instância do SQL Server para uma Instância Gerenciada do SQL do Azure com o mínimo de tempo de inatividade. Para obter métodos adicionais que podem exigir algum esforço manual, consulte o artigo Migração de instância do SQL Server para a Instância Gerenciada SQL do Azure.

Neste tutorial, você migra o banco de dados AdventureWorks2016 de uma instância local do SQL Server para uma Instância Gerenciada do SQL com tempo de inatividade mínimo usando o Serviço de Migração de Banco de Dados do Azure.

Sabe como:

  • Registre o provedor de recursos do Azure DataMigration.
  • Crie uma instância do Azure Database Migration Service.
  • Crie um projeto de migração e inicie a migração online usando o Serviço de Migração de Banco de Dados do Azure.
  • Monitorizar a migração.
  • Execute a substituição de migração quando estiver pronto.

Importante

Para migrações online do SQL Server para a Instância Gerenciada do SQL usando o Serviço de Migração de Banco de Dados do Azure, você deve fornecer o backup completo do banco de dados e os backups de log subsequentes no compartilhamento de rede SMB que o serviço pode usar para migrar seus bancos de dados. O Serviço de Migração de Banco de Dados do Azure não inicia nenhum backup e, em vez disso, usa backups existentes, que você já pode ter como parte do seu plano de recuperação de desastres, para a migração. Cada cópia de segurança pode ser escrita num ficheiro de cópia de segurança separado ou em vários ficheiros de cópia de segurança. No entanto, não há suporte para anexar vários backups (ou seja, completos e t-log) em uma única mídia de backup. Use backups compactados para reduzir a probabilidade de problemas potenciais associados à migração de backups grandes.

Nota

Usar o Serviço de Migração de Banco de Dados do Azure para executar uma migração online requer a criação de uma instância com base na camada de preço Premium.

Importante

Para uma experiência de migração ideal, a Microsoft recomenda a criação de uma instância do Serviço de Migração de Banco de Dados do Azure na mesma região do Azure que o banco de dados de destino. Mover dados entre regiões ou geografias pode retardar o processo de migração e introduzir erros.

Importante

Reduza ao máximo a duração do processo de migração on-line para minimizar o risco de interrupção causada pela reconfiguração da instância ou manutenção planejada. Em caso de tal evento, o processo de migração começará desde o início. Em caso de manutenção planejada, há um período de carência de 36 horas antes que o processo de migração seja reiniciado.

Gorjeta

No Serviço de Migração de Banco de Dados do Azure, você pode migrar seus bancos de dados offline ou enquanto eles estiverem online. Em uma migração offline , o tempo de inatividade do aplicativo começa quando a migração é iniciada. Para limitar o tempo de inatividade ao tempo necessário para o novo ambiente após a migração, use uma migração online . Recomendamos que você teste uma migração offline para determinar se o tempo de inatividade é aceitável. Se o tempo de inatividade esperado não for aceitável, faça uma migração online.

Este artigo descreve uma migração online do SQL Server para uma instância gerenciada do SQL. Para uma migração offline, consulte Migrar o SQL Server para uma instância gerenciada do SQL offline usando DMS.

Pré-requisitos

Para concluir este tutorial, precisa de:

  • Baixe e instale o SQL Server 2016 ou posterior.

  • Ativar o protocolo TCP/IP, que está desativado por predefinição durante a instalação do SQL Server Express, através das instruções no artigo Enable or Disable a Server Network Protocol (Ativar ou desativar um Protocolo de Rede de Servidor).

  • Restaure o banco de dados AdventureWorks2016 para a instância do SQL Server.

  • Criar uma Rede Virtual do Microsoft Azure para o Azure Database Migration Service com o modelo de implementação Azure Resource Manager, que proporciona conectividade site a site aos seus servidores de origem no local através do ExpressRoute ou de uma VPN. Aprenda topologias de rede para migrações de Instância Gerenciada SQL usando o Serviço de Migração de Banco de Dados do Azure. Para obter mais informações sobre como criar uma rede virtual, consulte a Documentação da Rede Virtual e, especialmente, os artigos de início rápido com detalhes passo a passo.

    Nota

    Durante a configuração da rede virtual, se você usar a Rota Expressa com emparelhamento de rede para a Microsoft, adicione os seguintes pontos de extremidade de serviço à sub-rede na qual o serviço será provisionado:

    • Ponto final da base de dados de destino (por exemplo, ponto final do SQL, ponto final do Azure Cosmos DB, etc.)
    • Ponto final de armazenamento
    • Ponto final do Service Bus

    Esta configuração é necessária porque o Azure Database Migration Service não tem conectividade à Internet.

    Se você não tiver conectividade site a site entre a rede local e o Azure ou se houver largura de banda de conectividade site a site limitada, considere usar o Serviço de Migração de Banco de Dados do Azure no modo híbrido (Visualização). O modo híbrido aproveita um operador de migração local juntamente com uma instância do Serviço de Migração de Banco de Dados do Azure em execução na nuvem. Para criar uma instância do Serviço de Migração de Banco de Dados do Azure no modo híbrido, consulte o artigo Criar uma instância do Serviço de Migração de Banco de Dados do Azure no modo híbrido usando o portal do Azure.

    Importante

    Em relação à conta de armazenamento usada como parte da migração, você deve:

    • Escolha permitir que toda a rede acesse a conta de armazenamento.
    • Ative a delegação de sub-rede na sub-rede MI e atualize as regras de firewall da Conta de Armazenamento para permitir essa sub-rede.
    • Não é possível usar uma conta de Armazenamento do Azure que tenha um ponto de extremidade privado com o Serviço de Migração de Banco de Dados do Azure.
  • Certifique-se de que as regras do Grupo de Segurança de Rede da rede virtual não bloqueiem a porta de saída 443 do ServiceTag para ServiceBus, Storage e AzureMonitor. Para obter mais detalhes sobre a filtragem de tráfego do NSG da rede virtual, veja o artigo Filtrar o tráfego de rede com grupos de segurança de rede.

  • Configurar a sua Firewall do Windows para acesso ao motor de bases de dados. Veja Windows Firewall for source database engine access.

  • Abra o Firewall do Windows para permitir que o Serviço de Migração de Banco de Dados do Azure acesse o SQL Server de origem, que por padrão é a porta TCP 1433. Se sua instância padrão estiver escutando em alguma outra porta, adicione-a ao firewall.

  • Se você estiver executando várias instâncias nomeadas do SQL Server usando portas dinâmicas, convém habilitar o Serviço Navegador SQL e permitir o acesso à porta UDP 1434 por meio de seus firewalls para que o Serviço de Migração de Banco de Dados do Azure possa se conectar a uma instância nomeada em seu servidor de origem.

  • Se você estiver usando um dispositivo de firewall na frente de seus bancos de dados de origem, talvez seja necessário adicionar regras de firewall para permitir que o Serviço de Migração de Banco de Dados do Azure acesse o(s) banco(s) de dados de origem para migração e arquivos por meio da porta SMB 445.

  • Crie uma Instância Gerenciada SQL seguindo os detalhes no artigo Criar uma Instância Gerenciada SQL no portal do Azure.

  • Verifique se os logons usados para conectar o SQL Server de origem e a Instância Gerenciada SQL de destino são membros da função de servidor sysadmin.

  • Forneça um compartilhamento de rede SMB que contenha todos os arquivos de backup de banco de dados completos do banco de dados e os arquivos de backup de log de transações subsequentes, que o Serviço de Migração de Banco de Dados do Azure pode usar para migração de banco de dados.

  • Confirme que a conta de serviço em execução na instância do SQL Server de origem tem privilégios de escrita na partilha de rede que criou e que a conta do computador do servidor de origem tem acesso de leitura/escrita à mesma partilha.

  • Tome nota de um utilizador do Windows (e da palavra-passe) que tenha privilégio de controlo total na partilha de rede que criou anteriormente. O Serviço de Migração de Banco de Dados do Azure representa a credencial do usuário para carregar os arquivos de backup no contêiner de Armazenamento do Azure para operação de restauração.

  • Crie uma ID de Aplicativo do Microsoft Entra que gere a chave de ID do Aplicativo que o Serviço de Migração de Banco de Dados do Azure pode usar para se conectar à Instância Gerenciada SQL do Azure de destino e ao Contêiner de Armazenamento do Azure. Para obter mais informações, consulte o artigo Usar o portal para criar um aplicativo e uma entidade de serviço do Microsoft Entra que possam acessar recursos.

    Nota

    A ID do Aplicativo usada pelo Serviço de Migração de Banco de Dados do Azure dá suporte à autenticação secreta (baseada em senha) para entidades de serviço. Não suporta a autenticação baseada em certificados.

    Nota

    O Serviço de Migração de Banco de Dados do Azure requer a permissão de Colaborador na assinatura para a ID do Aplicativo especificada. Como alternativa, você pode criar funções personalizadas que concedem as permissões específicas exigidas pelo Serviço de Migração de Banco de Dados do Azure. Para obter orientação passo a passo sobre como usar funções personalizadas, consulte o artigo Funções personalizadas para migrações online do SQL Server para a Instância Gerenciada do SQL.

  • Crie ou anote o escalão de Desempenho Standard, a Conta de Armazenamento do Azure, que permite ao serviço DMS carregar os ficheiros de cópia de segurança para a base de dados e utilizá-la para a migração de bases de dados. Certifique-se de criar a Conta de Armazenamento do Azure na mesma região em que a instância do Serviço de Migração de Banco de Dados do Azure é criada.

    Nota

    Quando você migra um banco de dados protegido pela Criptografia de Dados Transparente para uma instância gerenciada usando a migração online, o certificado correspondente da instância local ou da instância do SQL Server da VM do Azure deve ser migrado antes da restauração do banco de dados. Para obter etapas detalhadas, consulte Migrar um certificado TDE para uma instância gerenciada.

Registar o fornecedor de recursos

Registe o fornecedor de recursos Microsoft.DataMigration antes de criar a primeira instância do Database Migration Service.

  1. Inicie sessão no portal do Azure. Pesquise e selecione Subscrições.

    Show portal subscriptions

  2. Selecione a assinatura na qual você deseja criar a instância do Serviço de Migração de Banco de Dados do Azure e selecione Provedores de recursos.

    Show resource providers

  3. Procure migração e selecione Registrar para Microsoft.DataMigration.

    Register resource provider

Criar uma instância do Azure Database Migration Service

  1. No menu do portal do Azure ou na página inicial , selecione Criar um recurso. Procure e selecione Serviço de Migração de Banco de Dados do Azure.

    Azure Marketplace

  2. No ecrã Azure Database Migration Service, selecione Criar.

    Create Azure Database Migration Service instance

    Selecione o tipo de servidor de origem e o tipo de servidor de destino apropriados e escolha a opção Serviço de Migração de Banco de Dados (Clássico).

    Select Database Migration Service (Classic) scenario

  3. Na tela Criar noções básicas do Serviço de Migração:

    • Selecione uma subscrição.
    • Crie um novo grupo de recursos ou escolha um existente.
    • Especifique um nome para a instância do Serviço de Migração de Banco de Dados do Azure.
    • Selecione o local no qual você deseja criar a instância do Serviço de Migração de Banco de Dados do Azure.
    • Escolha Azure como o modo de serviço.
    • Selecione um escalão de preço. Para obter mais informações sobre os custos e os escalões de preços, veja a página de preços.

    Configure Azure Database Migration Service instance basics settings

    • Selecione Next: Networking.
  4. Na tela Criar rede do Serviço de Migração:

    • Selecione uma rede virtual existente ou crie uma nova. A rede virtual fornece ao Serviço de Migração de Banco de Dados do Azure acesso ao servidor de origem e à instância de destino. Para obter mais informações sobre como criar uma rede virtual no portal do Azure, consulte o artigo Criar uma rede virtual usando o portal do Azure.

    Configure Azure Database Migration Service instance networking settings

    • Selecione Rever + Criar para rever os detalhes e, em seguida, selecione Criar para criar o serviço.

    • Após alguns momentos, sua instância do serviço de Migração de Banco de Dados do Azure é criada e está pronta para uso:

    Migration service created

Nota

Para obter detalhes adicionais, consulte o artigo Topologias de rede para migrações de instância gerenciada SQL do Azure usando o Serviço de Migração de Banco de Dados do Azure.

Criar um projeto de migração

Após a criação de uma instância do serviço, localize-a no portal do Azure, abra-a e crie um projeto de migração novo.

  1. No menu do portal do Azure, selecione Todos os serviços. Procure e selecione Serviços de Migração de Banco de Dados do Azure.

    Locate all instances of Azure Database Migration Service

  2. Na tela Serviços de Migração de Banco de Dados do Azure, selecione a instância do Serviço de Migração de Banco de Dados do Azure que você criou.

  3. Selecione Novo projeto de migração.

    Locate your instance of Azure Database Migration Service

  4. Na tela Novo projeto de migração, especifique um nome para o projeto, na caixa de texto Tipo de servidor de origem, selecione SQL Server, na caixa de texto Tipo de servidor de destino, selecione Instância Gerenciada do Banco de Dados SQL do Azure e, em seguida, para Escolher tipo de atividade, selecione Migração de dados online.

    Create Database Migration Service Project

  5. Selecione Criar e executar atividade para criar o projeto e executar a atividade de migração.

Especifique os detalhes da origem

  1. Na tela Selecionar origem, especifique os detalhes da conexão para a instância do SQL Server de origem.

    Confirme que utiliza um Nome de Domínio Completamente Qualificado (FQDN) no nome da instância do SQL Server de origem. Também pode utilizar o endereço IP em situações nas quais a resolução de nomes DNS não é possível.

  2. Se não tiver um certificado fidedigno instalado no seu servidor, selecione a caixa de verificação Confiar no certificado de servidor.

    Se não tiver um certificado fidedigno instalado, o SQL Server gera um certificado autoassinado quando a instância é iniciada. Este certificado é utilizado para encriptar as credenciais para as ligações de cliente.

    Atenção

    As conexões TLS criptografadas usando um certificado autoassinado não fornecem segurança forte. São suscetíveis a ataques man-in-the-middle. Você não deve confiar no TLS usando certificados autoassinados em um ambiente de produção ou em servidores conectados à Internet.

    Source Details

  3. Selecione Seguinte: Selecionar destino

Especifique os detalhes do destino

  1. Na tela Selecionar destino, especifique a ID e a Chave do Aplicativo que a instância do DMS pode usar para se conectar à instância de destino da Instância Gerenciada do SQL e à Conta de Armazenamento do Azure.

    Para obter mais informações, consulte o artigo Usar o portal para criar um aplicativo e uma entidade de serviço do Microsoft Entra que possam acessar recursos.

  2. Selecione a Assinatura que contém a instância de destino da Instância Gerenciada do SQL e escolha a instância Gerenciada do SQL de destino.

    Se você ainda não provisionou a Instância Gerenciada SQL, selecione o link para ajudá-lo a provisionar a instância. Quando a Instância Gerenciada SQL estiver pronta, retorne a este projeto específico para executar a migração.

  3. Forneça Usuário e Senha do SQL para se conectar à Instância Gerenciada do SQL.

    Select Target

  4. Selecione Avançar: Selecionar bancos de dados.

Especificar bancos de dados de origem

  1. Na tela Selecionar bancos de dados, selecione os bancos de dados de origem que você deseja migrar.

Select Source Databases

Importante

Se você usar o SQL Server Integration Services (SSIS), o DMS atualmente não oferece suporte à migração do banco de dados de catálogo para seus projetos/pacotes SSIS (SSISDB) do SQL Server para a Instância Gerenciada do SQL. No entanto, você pode provisionar o SSIS no Azure Data Factory (ADF) e reimplantar seus projetos/pacotes SSIS no SSISDB de destino hospedado pela Instância Gerenciada do SQL. Para obter mais informações sobre como migrar pacotes SSIS, consulte o artigo Migrar pacotes do SQL Server Integration Services para o Azure.

  1. Selecione Next: Configure migration settings.

Configurar as definições da migração

  1. Na tela Configurar configurações de migração, forneça os seguintes detalhes:

    Parâmetro Description
    Partilha de localização na Rede SMB O compartilhamento de rede SMB local ou o compartilhamento de arquivos do Azure que contém os arquivos de backup de banco de dados completos e os arquivos de backup do log de transações que o Serviço de Migração de Banco de Dados do Azure pode usar para migração. A conta de serviço que estiver a executar a instância do SQL Server de origem tem de ter privilégios de leitura\escrita nesta partilha de rede. Forneça um FQDN ou endereços IP do servidor no compartilhamento de rede, por exemplo, '\\servername.domainname.com\backupfolder' ou '\\IP address\backupfolder'. Para melhorar o desempenho, é recomendável usar uma pasta separada para cada banco de dados a ser migrado. Você pode fornecer o caminho de compartilhamento de arquivos no nível do banco de dados usando a opção Configurações avançadas . Se você estiver tendo problemas para se conectar ao compartilhamento SMB, consulte Compartilhamento SMB.
    Nome de utilizador Certifique-se de que o utilizador do Windows tem privilégio de controlo total na partilha de rede que indicou acima. O Serviço de Migração de Banco de Dados do Azure representa a credencial do usuário para carregar os arquivos de backup no contêiner de Armazenamento do Azure para operação de restauração. Se estiver usando o compartilhamento de arquivos do Azure, use o nome da conta de armazenamento precedido de AZURE\ como o nome de usuário.
    Palavra-passe A palavra-passe do utilizador. Se estiver usando o compartilhamento de arquivos do Azure, use uma chave de conta de armazenamento como senha.
    Subscrição da Conta de Armazenamento do Azure Selecione a subscrição que contém a Conta de Armazenamento do Azure.
    Conta de armazenamento do Azure Selecione a Conta de Armazenamento do Azure para a qual o DMS pode carregar os ficheiros de cópia de segurança da partilha de rede SMB e utilizá-los para a migração de base de dados. Recomendamos que selecione a Conta de Armazenamento na mesma região do serviço DMS para um desempenho de carregamento de ficheiros ideal.

    Configure Migration Settings

    Nota

    Se o Serviço de Migração de Banco de Dados do Azure mostrar o erro 'Erro de Sistema 53' ou 'Erro de Sistema 57', a causa pode resultar de uma incapacidade do Serviço de Migração de Banco de Dados do Azure de acessar o compartilhamento de arquivos do Azure. Se você encontrar um desses erros, conceda acesso à conta de armazenamento da rede virtual usando as instruções aqui.

    Importante

    Se a funcionalidade de verificação de loopback estiver habilitada e o SQL Server de origem e o compartilhamento de arquivos estiverem no mesmo computador, o código-fonte não poderá acessar a lebre de arquivos usando FQDN. Para corrigir esse problema, desative a funcionalidade de verificação de loopback usando as instruções aqui.

  2. Selecione Next: Summary.

Rever o resumo da migração

  1. Na tela Resumo, na caixa de texto Nome da atividade, especifique um nome para a atividade de migração.

  2. Reveja e verifique os detalhes associados ao projeto de migração.

    Migration project summary

Executar e monitorizar a migração

  1. Selecione Iniciar migração.

  2. A janela de atividade de migração aparece para exibir o status de migração atual dos bancos de dados. Selecione Atualizar para atualizar a exibição.

    Migration activity in progress

    Pode expandir ainda mais as categorias de bases de dados e inícios de sessão para monitorizar o estado da migração dos respetivos objetos de servidor.

    Migration activity status

Efetuar a transferência da migração

Depois que o backup completo do banco de dados for restaurado na instância de destino da Instância Gerenciada do SQL, o banco de dados estará disponível para executar uma substituição de migração.

  1. Quando estiver pronto para concluir a migração da base de dados online, selecione Iniciar Transferência.

  2. Pare todo o tráfego de entrada para as bases de dados de origem.

  3. Com a [cópia de segurança de registo após erro], disponibilize o ficheiro de cópia de segurança na rede de partilha SMB e, em seguida, aguarde até que a cópia de segurança de registo de transações seja restaurada.

    Nesse ponto, você verá Alterações pendentes definidas como 0.

  4. Selecione Confirmar e, em seguida, selecione Aplicar.

    Preparing to complete cutover

    Importante

    Após a substituição, a disponibilidade da Instância Gerenciada SQL com a camada de serviço Crítica de Negócios somente pode levar significativamente mais tempo do que a Finalidade Geral, pois três réplicas secundárias precisam ser semeadas para o grupo Always On High Availability. A duração dessa operação depende do tamanho dos dados, para obter mais informações, consulte Duração das operações de gerenciamento.

  5. Quando o status de migração do banco de dados mostrar Concluído, conecte seus aplicativos à nova instância de destino da Instância Gerenciada SQL.

    Cutover complete

Recursos adicionais