Tutorial: Migrar o SQL Server para uma Instância Gerenciada de SQL do Azure offline usando o 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 substituição. Desde 1º de agosto de 2023, não é mais possível criar recursos do Serviço de Migração de Banco de Dados (clássico) para cenários de SQL Server do portal do Azure. O serviço será desativado em 15 de março de 2026 para todos os clientes. Para migrações perfeitas 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 no Azure Data Studio, Azure SQL Migration, ou por meio do portal do Azure ou do Azure PowerShell e CLI do Azure. Para obter mais informações, consulte Aviso de desativação: Serviço de Migração de Banco de Dados (clássico).

Observação

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

Para comparar os recursos entre as versões, confira 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 de SQL do Azure. Para conhecer os métodos adicionais que podem exigir um pouco de esforço manual, confira o artigo SQL Server para a Instância Gerenciada de SQL do Azure.

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

Você saberá como:

  • Registrar o provedor de recursos Azure DataMigration.
  • Crie uma instância do Serviço de Migração de Banco de Dados do Azure.
  • Criar um projeto de migração usando o Serviço de Migração de Banco de Dados do Azure.
  • Executar a migração.
  • Monitorar a migração.

Importante

Para migrações offline do SQL Server para uma Instância Gerenciada de 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 os bancos de dados. Cada backup pode ser gravado em um arquivo de backup separado ou em vários arquivos de backup. No entanto, não há suporte para a adoção de vários backups em apenas uma mídia de backup. Observe que você pode usar backups compactados também, a fim de reduzir a probabilidade de ocorrência de possíveis problemas com a migração de backups grandes.

Dica

No Serviço de Migração de Banco de Dados do Azure, você pode migrar seus bancos de dados offline ou enquanto estiverem online. Na migração offline, o tempo de inatividade do aplicativo começa quando a migração é iniciada. Para limitar o tempo de inatividade que leva para transferir para o novo ambiente após a migração, use uma migração online. É recomendável testar 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 um Instância Gerenciada de SQL. Para uma migração online, confira Migrar o SQL Server para um Instância Gerenciada de SQL online usando DMS.

Pré-requisitos

Para concluir este tutorial, você precisará:

  • Baixar e instalar o SQL Server 2016 ou posterior.

  • Habilitar o protocolo TCP/IP, que está desabilitado por padrão durante a instalação do SQL Server Express, seguindo as instruções no artigo Habilitar ou desabilitar um protocolo de rede de servidor.

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

  • Criar uma Rede Virtual do Microsoft Azure para o Serviço de Migração de Banco de Dados do Azure usando o modelo de implantação do Azure Resource Manager, que fornece conectividade site a site aos servidores de origem locais usando o ExpressRoute ou a VPN. Conheça as topologias de rede das migrações da Instância Gerenciada de 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, confira a Documentação da Rede Virtual e, especificamente, os artigos de Início Rápido com detalhes passo a passo.

    Observação

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

    • Ponto de extremidade do banco de dados de destino (por exemplo, ponto de extremidade do SQL, ponto de extremidade do Azure Cosmos DB e assim por diante)
    • Ponto de extremidade de armazenamento
    • Ponto de extremidade do barramento de serviço

    Essa configuração é necessária porque o Serviço de Migração de Banco de Dados do Azure não tem conectividade com a internet.

  • Verifique se as regras do grupo de segurança de rede da rede virtual não bloqueiam a porta de saída 443 de ServiceTag para ServiceBus, Storage e AzureMonitor. Para obter mais detalhes sobre a filtragem de tráfego do NSG da rede virtual, confira o artigo Filtrar o tráfego de rede com grupos de segurança de rede.

  • Configure o Firewall do Windows para acesso ao mecanismo de banco de dados de fonte.

  • 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 a 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, talvez precise habilitar o serviço do SQL Browser e permitir o acesso à porta UDP 1434 por meio dos firewalls, de modo que o Serviço de Migração de Banco de Dados do Azure possa se conectar a uma instância nomeada no servidor de origem.

  • Se você estiver usando um dispositivo de firewall na frente dos bancos de dados de origem, talvez precise adicionar regras de firewall para permitir que o Serviço de Migração de Banco de Dados do Azure acesse os bancos de dados de origem para migração, bem como arquivos por meio da porta SMB 445.

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

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

    Observação

    Por padrão, o Serviço de Migração de Banco de Dados do Azure é compatível apenas com a migração de logons SQL. No entanto, você pode habilitar a capacidade de migrar logons do Windows executando as seguintes ações:

    • Garantindo que a Instância Gerenciada de SQL de destino tenha acesso de leitura ao AAD, que pode ser configurado por meio do portal do Azure por um usuário com a função de Administrador Global.
    • Configurando sua instância do Serviço de Migração de Banco de Dados do Azure para habilitar as migrações de logon de usuário/grupo do Windows, que são configuradas por meio do portal do Azure, na página de 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 logons de usuário/grupo do Windows aparecerão na lista de logons disponíveis para migração. Para todo logon de usuário/grupo do Windows que você migrar, será solicitado que forneça o nome de domínio associado. As contas de usuário de serviço (conta com nome de domínio NT AUTHORITY) e as contas de usuário virtual (nome da conta com o nome de domínio NT SERVICE) não são compatíveis.

  • Crie um compartilhamento de rede que pode ser usado pelo Serviço de Migração de Banco de Dados do Azure para fazer backup do banco de dados de origem.

  • Certifique-se de que a conta de serviço que executa a instância do SQL Server de origem tem privilégios de gravação no compartilhamento de rede que você criou e que a conta de computador do servidor de origem tem acesso de leitura/gravação para o mesmo compartilhamento.

  • Anote um usuário do Windows (e a senha) que tem privilégios de controle total no compartilhamento de rede criado 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 do Armazenamento do Azure para a operação de restauração.

  • Crie um contêiner de blobs e recupere seu URI SAS usando as etapas descritas no artigo Gerenciar os recursos do Armazenamento de Blobs do Azure com o Gerenciador de Armazenamento e lembre-se de selecionar todas as permissões (Leitura, Gravação, Exclusão, Lista) na janela da política ao criar o URI SAS. Esse detalhe fornece ao Serviço de Migração de Banco de Dados do Azure acesso ao contêiner da conta de armazenamento para carregar os arquivos de backup usados ao migrar bancos de dados para a Instância Gerenciada de SQL.

    Observação

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

Registre o provedor de recursos

Registre o provedor de recursos Microsoft.DataMigration antes de criar sua primeira instância do Serviço de Migração de Banco de Dados.

  1. Entre no portal do Azure. Pesquise e selecione Assinaturas.

    Show portal subscriptions

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

    Show resource providers

  3. Pesquise por migração, depois selecione Registrar para Microsoft.DataMigration.

    Register resource provider

Criar uma instância do Serviço de Migração de Banco de Dados do Azure

  1. No menu do portal do Azure ou na Home page, selecione Criar um recurso. Pesquise e selecione o Serviço de Migração de Banco de Dados do Azure.

    Azure Marketplace

  2. Na tela Serviço de Migração de Banco de Dados do Azure, 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 básica Criar Serviço de Migração:

    • Selecione a assinatura.
    • Crie um 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 a localização na qual 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 tipo de preço. Para obter mais informações sobre os custos e camadas de preços, consulte a página de preços.

    Configure Azure Database Migration Service instance basics settings

    • Selecione Avançar: Rede.
  4. Na tela de rede Criar Serviço de Migração:

    • Selecione uma rede virtual existente ou crie uma. 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, confira o artigo Criar uma rede virtual usando o portal do Azure.

    Configure Azure Database Migration Service instance networking settings

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

    • Após alguns instantes, sua instância do Serviço de Migração de Banco de Dados do Azure é criado e estará pronto para uso:

    Migration service created

Criar um projeto de migração

Depois que uma instância do serviço é criada, localize-a no portal do Azure, abra-a e, em seguida, crie um novo projeto de migração.

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

    Locate all instances of Azure Database Migration Service

  2. Na tela dos 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 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 as configurações de origem

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

    Certifique-se de usar um Nome de Domínio Totalmente Qualificado (FQDN) para o nome da instância do SQL Server de origem. Você também pode usar o endereço IP para situações em que a resolução de nome do DNS não é possível.

  2. Caso não tenha instalado um certificado confiável no servidor, selecione a caixa de seleção Certificado de servidor confiável.

    Quando não houver um certificado confiável instalado, o SQL Server gerará um certificado autoassinado quando a instância for iniciada. Esse certificado é usado para criptografar as credenciais das conexões de cliente.

    Cuidado

    As conexões TLS que são criptografadas usando um certificado autoassinado não fornecem alta segurança. Elas 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, nem em servidores conectados à Internet.

    Source Details

  3. Selecione Avançar: selecionar destino

Detalhes do destino favorito

  1. Na tela Selecionar destino, especifique os detalhes da conexão de destino, que é a Instância Gerenciada de SQL pré-provisionada para a qual o banco de dados AdventureWorks2016 está sendo migrado.

    Se você ainda não provisionou a Instância Gerenciada de SQL, clique no link para obter ajuda nessa tarefa. É possível continuar assim mesmo com a criação do projeto e, em seguida, quando a Instância Gerenciada de SQL estiver pronta, retornar a este 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ê usa o SSIS (SQL Server Integration Services), no momento, o DMS não dá suporte à migração do banco de dados de catálogo dos seus projetos e pacotes do SSIS (SSISDB) do SQL Server para a Instância Gerenciada de SQL. No entanto, é possível provisionar o SSIS no ADF (Azure Data Factory) e reimplantar os projetos e os pacotes do SSIS no SSISDB de destino hospedado pela Instância Gerenciada de SQL. Para saber mais sobre como migrar pacotes SSIS, confira o artigo Migrar pacotes do SQL Server Integration Services para o Azure.

  3. Selecione Avançar: selecionar logons

Selecionar logons

  1. Na tela Selecionar logons, selecione os logons que deseja migrar.

    Observação

    Por padrão, o Serviço de Migração de Banco de Dados do Azure é compatível apenas com a migração de logons SQL. Para habilitar o suporte à migração de logons do Windows, consulte a seção Pré-requisitos deste tutorial.

    Select logins

  2. Selecione Avançar: definir as configurações de migração.

Definir as configurações de migração

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

    Parâmetro Descrição
    Escolher opção de backup de origem Escolha a opção Fornecerei os arquivos de backup mais recentes quando você já tiver arquivos de backup completos disponíveis para uso pelo DMS para a migração de banco de dados. Escolha a opção Permitirei que o Serviço de Migração de Banco de Dados do Azure crie arquivos de backup quando desejar que o DMS faça o backup completo do banco de dados de origem primeiro e use-o para a migração.
    Compartilhamento do local da rede O compartilhamento de rede SMB local no qual o Serviço de Migração de Banco de Dados do Azure pode fazer os backups do banco de dados de origem. A conta de serviço que executa a instância do SQL Server de origem deve ter privilégios de gravação nesse compartilhamento 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 usuário Certifique-se de que o usuário do Windows possui privilégios de controle total no compartilhamento de rede fornecido 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 a operação de restauração. Se os bancos de dados habilitados para TDE forem selecionados para migração, o usuário do Windows acima deve ser a conta de administrador interno e Controle de Conta de Usuário deve ser desabilitado para o Serviço de Migração de Banco de Dados carregar e excluir os arquivos de certificados).
    Senha Senha do usuário.
    Configuraçõ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 em que o serviço carrega os arquivos de backup e que é usado para a migração de bancos de dados para a Instância Gerenciada de SQL. Saiba como obter o URI SAS do contêiner de blobs. Esse URI de SAS deve ser para o contêiner de BLOB, não para a conta de armazenamento.
    Configurações de TDE Se você estiver migrando os bancos de dados de origem com a criptografia TDE (Transparent Data Encryption) habilitada, será necessário ter privilégios de gravação na Instância Gerenciada de SQL de destino. Selecione a assinatura na qual foi provisionada a Instância Gerenciada de SQL no menu suspenso. Selecione a Instância Gerenciada do Banco de Dados SQL do Azure de destino no menu suspenso.

    Configure Migration Settings

  2. Selecione Avançar: Resumo.

Análise do 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. Analise e verifique os detalhes associados ao projeto de migração.

    Migration project summary

Execute a migração

  • Selecione Iniciar migração.

    A janela atividade de migração é exibida, que exibe o status de migração atual dos bancos de dados e logons.

Monitorar a migração

  1. Na tela da atividade de migração, selecione Atualizar para atualizar a exibição.

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

  2. É possível expandir ainda mais as categorias de logon e banco de dados para monitorar o status da migração dos respectivos 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 do SQL.

Recursos adicionais