Tutorial: Migrar o SQL Server para uma Instância Gerenciada SQL do Azure offline 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. Para obter métodos adicionais que podem exigir algum esforço manual, consulte o artigo SQL Server to Azure SQL Managed Instance.

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

Vai aprender a:

  • Registre o provedor de recursos do Azure DataMigration.
  • Crie uma instância do Azure Database Migration Service.
  • Crie um projeto de migração usando o Serviço de Migração de Banco de Dados do Azure.
  • Executar a migração.
  • Monitorizar a migração.

Importante

Para migrações offline do SQL Server para a Instância Gerenciada do SQL, o Serviço de Migração de Banco de Dados do Azure pode criar os arquivos de backup para você. Como alternativa, você pode fornecer o backup de banco de dados completo mais recente no compartilhamento de rede SMB que o serviço usará para migrar seus bancos de dados. 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 em uma única mídia de backup. Observe que você também pode usar backups compactados para reduzir a probabilidade de ter possíveis problemas com a migração de backups grandes.

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 offline do SQL Server para uma instância gerenciada do SQL. Para uma migração online, consulte Migrar o SQL Server para uma instância gerenciada do SQL online 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.

  • 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, bem como 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.

  • Confirme que os inícios de sessão utilizados para ligar o SQL Server de origem e o SQL Managed Instance de destino são membros da função de servidor sysadmin.

    Nota

    Por predefinição, o Azure Database Migration Service apenas suporta a migração de inícios de sessão SQL. No entanto, você pode habilitar a capacidade de migrar logons do Windows ao:

    • Garantir que a Instância Gerenciada SQL de destino tenha acesso de leitura do AAD, que pode ser configurado por meio do portal do Azure por um usuário com a função de Administrador Global .
    • Configurar a instância do Serviço de Migração de Banco de Dados do Azure para habilitar migrações de logon de usuário/grupo do Windows, que é configurada por meio do portal do Azure, na página Configuração. Depois de habilitar essa configuração, reinicie o serviço para que as alterações entrem em vigor.

    Depois de reiniciar o serviço, os logins de usuário/grupo do Windows aparecem na lista de logons disponíveis para migração. Para qualquer login de usuário/grupo do Windows migrado, você será solicitado a fornecer o nome de domínio associado. Não há suporte para contas de usuário de serviço (conta com nome de domínio NT AUTHORITY) e contas de usuário virtual (nome de conta com nome de domínio NT SERVICE).

  • Crie um compartilhamento de rede que o Serviço de Migração de Banco de Dados do Azure possa usar para fazer backup do banco de dados de origem.

  • 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 um contentor de blobs e obtenha o URI da SAS com os passos no artigo Manage Azure Blob Storage resources with Storage Explorer (Gerir recursos do Armazenamento de Blobs do Azure com o Explorador de Armazenamento). Confirme que seleciona todas as permissões (Leitura, Escrita, Eliminação, Listagem) na janela da política quando criar o URI da SAS. Este detalhe fornece ao Serviço de Migração de Banco de Dados do Azure acesso ao contêiner da sua conta de armazenamento para carregar os arquivos de backup usados para migrar bancos de dados para a Instância Gerenciada do SQL.

    Nota

    • O Serviço de Migração de Banco de Dados do Azure não oferece suporte ao uso de um token SAS no nível da conta ao definir as configurações da Conta de Armazenamento durante a etapa Configurar Configurações de Migração.
  • Verifique se o endereço IP do Serviço de Migração de Banco de Dados do Azure e a sub-rede da Instância Gerenciada SQL do Azure podem se comunicar com o contêiner de blob.

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. No ecrã Novo projeto de migração, indique 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 Gerida da Base de Dados SQL do Azure e, em Escolher tipo de atividade, selecione Migração de dados offline.

    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 os detalhes da conexão para o destino, que é a Instância Gerenciada SQL pré-provisionada para a qual você está migrando o banco de dados AdventureWorks2016.

    Se você ainda não provisionou a Instância Gerenciada SQL, selecione o link para ajudá-lo a provisionar a instância. Você ainda pode continuar com a criação do projeto e, quando a Instância Gerenciada SQL estiver pronta, retornar a esse projeto específico para executar a migração.

    Select Target

  2. Selecione Avançar: Selecionar bancos de dados. Na tela Selecionar bancos de dados, selecione o banco de dados AdventureWorks2016 para migração.

    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.

  3. Selecione Próximo: Selecionar logins

Selecionar os inícios de sessão

  1. No ecrã Selecionar os inícios de sessão, selecione os inícios de sessão que quer migrar.

    Nota

    Por predefinição, o Azure Database Migration Service apenas suporta a migração de inícios de sessão SQL. Para habilitar o suporte para migrar logons do Windows, consulte a seção Pré-requisitos deste tutorial.

    Select logins

  2. 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
    Escolher a opção de cópia de segurança de origem Escolha a opção Vou disponibilizar os ficheiros de cópia de segurança mais recentes se já tiver ficheiros de cópia de segurança completa disponíveis para o DMS utilizar para migrar a base de dados. Escolha a opção O Azure Database Migration Service vai criar os ficheiros de cópia de segurança se quiser que o DMS utilize a cópia de segurança completa da base de dados de origem e a utilize para a migração.
    Partilha de localização na rede O compartilhamento de rede SMB local para o qual o Serviço de Migração de Banco de Dados do Azure pode levar os backups do banco de dados de origem. A conta de serviço que estiver a executar a instância do SQL Server de origem tem de ter privilégios de 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'.
    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 representará a credencial do usuário para carregar os arquivos de backup no contêiner do Armazenamento do Azure para operação de restauração. Se estiverem selecionadas bases de dados ativadas para TDE para migração, o utilizador do Windows acima tem de ser a conta de administrador incorporada e o Controlo de Conta de Utilizador tem de ser desativado, para que o Azure Database Migration Service carregue e elimine os ficheiros de certificado.
    Palavra-passe A palavra-passe do utilizador.
    Definições da conta de armazenamento O URI SAS que fornece ao Serviço de Migração de Banco de Dados do Azure acesso ao contêiner da conta de armazenamento para o qual o serviço carrega os arquivos de backup e que é usado para migrar bancos de dados para a Instância Gerenciada SQL. Veja Learn how to get the SAS URI for blob container (Saiba como obter o URI da SAS para o contentor de blobs). Esse URI SAS deve ser para o contêiner de blob, não para a conta de armazenamento.
    Definições de TDE Se você estiver migrando os bancos de dados de origem com a Criptografia de Dados Transparente (TDE) habilitada, precisará ter privilégios de gravação na Instância Gerenciada SQL de destino. Selecione a assinatura na qual a Instância Gerenciada SQL foi provisionada no menu suspenso. Selecione a Instância Gerida da Base de Dados SQL do Azure de destino no menu pendente.

    Configure Migration Settings

  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

Execute a migração

  • Selecione Iniciar migração.

    É exibida a janela de atividade de migração que exibe o status atual da migração dos bancos de dados e logons.

Monitorize a migração

  1. No ecrã de atividade da migração, selecione Atualizar, para atualizar o ecrã.

    Screenshot that shows the migration activity screen and the Refresh button.

  2. 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 in progress

  3. Após a conclusão da migração, verifique o banco de dados de destino no ambiente da Instância Gerenciada SQL.

Recursos adicionais