Tutorial: migrar o SQL Server para um Azure SQL Managed Instance online com o DMS

Pode utilizar Azure Database Migration Service para migrar as bases de dados de um SQL Server caso para um Azure SQL Managed Instance com tempo mínimo de inatividade. Para métodos adicionais que possam requerer algum esforço manual, consulte o artigo SQL Server por exemplo a migração para Azure SQL Managed Instance.

Neste tutorial, migra a base de dados AdventureWorks2016 de um caso de SQL Server no local para um SQL Managed Instance com tempo de inatividade mínimo utilizando Azure Database Migration Service.

Vai aprender a:

  • Registe o fornecedor de recursos Azure DataMigration.
  • Crie uma instância do Azure Database Migration Service.
  • Crie um projeto de migração e inicie a migração online utilizando Azure Database Migration Service.
  • Monitorizar a migração.
  • Execute o corte de migração quando estiver pronto.

Importante

Para migrações on-line de SQL Server para SQL Managed Instance usando Azure Database Migration Service, você deve fornecer a cópia de segurança completa da base de dados e subsequentes cópias de segurança na rede SMB que o serviço pode usar para migrar as suas bases de dados. Azure Database Migration Service não inicie quaisquer backups, e em vez disso usa backups existentes, que você pode já ter como parte do seu plano de recuperação de desastres, para a migração. Certifique-se de que toma cópias de segurança utilizando a opção COM CHECKSUM. 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, a anexação de várias cópias de segurança (isto é, completa e t-log) num único suporte de cópia de segurança não é suportada. Finalmente, pode utilizar backups comprimidos para reduzir a probabilidade de experimentar potenciais problemas associados à migração de grandes backups.

Nota

A utilização de Azure Database Migration Service para realizar uma migração online requer a criação de um caso baseado no nível de preços Premium.

Importante

Para uma experiência de migração ideal, Microsoft recomenda a criação de um exemplo de Azure Database Migration Service na mesma região de Azure que a base de dados-alvo. 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 online para minimizar o risco de interrupção causado por reconfiguração por exemplo ou manutenção planeada. Em caso de tal acontecimento, o processo de migração começará desde o início. Em caso de manutenção planeada, há um período de carência de 36 horas antes do reinício do processo de migração.

Dica

Em Azure Database Migration Service, pode migrar as suas bases de dados offline ou enquanto estiverem online. Numa migração offline , o tempo de inatividade da aplicação começa quando a migração começa. Para limitar o tempo de inatividade ao tempo que leva a reduzir para o novo ambiente após a migração, use uma migração online . Recomendamos que 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 de SQL Server para um SQL Managed Instance. Para uma migração offline, consulte a Migração SQL Server para um SQL Managed Instance offline usando DMS.

Pré-requisitos

Para concluir este tutorial, precisa de:

  • Faça o download e instale 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).

  • Restaurar a base de dados AdventureWorks2016 para o SQL Server exemplo.

  • Crie um Microsoft Rede Virtual Azure para Azure Database Migration Service utilizando o modelo de implementação Azure Resource Manager, que fornece conectividade site-to-site aos seus servidores de origem no local, utilizando o ExpressRoute ou o VPN. Aprenda as topologias da rede para migrações SQL Managed Instance utilizando Azure Database Migration Service. Para obter mais informações sobre a criação de uma rede virtual, consulte a documentação Rede Virtual e, especialmente, os artigos de arranque rápido com detalhes passo a passo.

    Nota

    Durante a configuração da rede virtual, se utilizar o ExpressRoute com o estoiramento da rede para Microsoft, adicione os seguintes pontos finais de serviço à sub-rede em que o serviço será prestado:

    • Ponto final da base de dados-alvo (por exemplo, ponto final SQL, ponto final Azure Cosmos DB, e assim por diante)
    • Ponto final de armazenamento
    • Ponto final do ônibus de serviço

    Esta configuração é necessária porque Azure Database Migration Service carece de conectividade com a Internet.

    Se não tiver conectividade site-to-site entre a rede no local e a Azure ou se houver uma largura de banda de conectividade local-local limitada, considere a utilização de Azure Database Migration Service no modo híbrido (Preview). O modo híbrido aproveita um trabalhador da migração no local juntamente com um exemplo de Azure Database Migration Service a correr na nuvem. Para criar um exemplo de Azure Database Migration Service em modo híbrido, veja o artigo Criar uma instância de Azure Database Migration Service em modo híbrido utilizando o portal do Azure.

    Importante

    No que diz respeito à conta de armazenamento utilizada como parte da migração, deve:

    • Opte por permitir que toda a rede aceda à conta de armazenamento.
    • Ligue a delegação de sub-redes na sub-rede MI e atualize as regras de firewall da Conta de Armazenamento para permitir esta sub-rede.
    • Não pode utilizar uma conta de Armazenamento Azure que tenha um ponto final privado com Azure Database Migration Service.
  • Certifique-se de que as regras do Grupo de Segurança da Rede virtual não bloqueiam a porta de saída 443 do ServiceTag para ServiceBus, Storage e AzureMonitor. Para obter mais detalhes sobre a filtragem de tráfego NSG da rede virtual, consulte o artigo Filtrar o tráfego da 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 Windows Firewall para permitir que Azure Database Migration Service acedam à SQL Server de origem, que por padrão é a porta TCP 1433. Se o seu caso padrão estiver a ouvir noutra porta, adicione-o à firewall.

  • Se estiver a executar vários casos de SQL Server com nomes que utilizam portas dinâmicas, pode desejar ativar o Serviço de Navegador SQL e permitir o acesso à porta UDP 1434 através das suas firewalls para que Azure Database Migration Service possa ligar-se a uma instância nomeada no seu servidor de origem.

  • Se estiver a utilizar um aparelho de firewall em frente às bases de dados de origem, poderá ter de adicionar regras de firewall para permitir que Azure Database Migration Service aceder à base de dados de origem para migração, bem como ficheiros através da porta SMB 445.

  • Criar uma SQL Managed Instance seguindo os detalhes do artigo Criar uma SQL Managed Instance no portal do Azure.

  • Certifique-se de que os logins utilizados para ligar a SQL Server de origem e os SQL Managed Instance-alvo são membros da função do servidor sysadmin.

  • Forneça uma partilha de rede SMB que contenha todos os ficheiros de backup completos da sua base de dados e ficheiros de cópias de segurança subsequentes do registo de transações, que Azure Database Migration Service podem utilizar para a migração de bases 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. Azure Database Migration Service personifica a credencial do utilizador para enviar os ficheiros de cópia de segurança para o recipiente de armazenamento Azure para restaurar o funcionamento.

  • Crie um ID de aplicação de diretório ativo Azure que gere a chave de ID de aplicação que Azure Database Migration Service pode usar para ligar ao target Azure Database Managed Instance e Azure Storage Container. Para obter mais informações, veja o artigo Utilizar o portal para criar uma aplicação e um principal de serviço do Azure Active Directory que possam aceder aos recursos.

    Nota

    O ID de aplicação utilizado pelo Azure Database Migration Service suporta a autenticação secreta (baseada em palavras-passe) para os principais de serviço. Não suporta a autenticação baseada em certificados.

    Nota

    Azure Database Migration Service requer a permissão do Contribuinte na subscrição para o ID de aplicação especificado. Em alternativa, pode criar funções personalizadas que concedam as permissões específicas que Azure Database Migration Service requer. Para obter orientações passo a passo sobre a utilização de funções personalizadas, consulte o artigo Funções personalizadas para SQL Server para SQL Managed Instance migrações online.

  • 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 Azure na mesma região que a Azure Database Migration Service instância é criada.

    Nota

    Quando migra uma base de dados protegida pela Encriptação de Dados Transparente para um caso gerido através da migração online, o certificado correspondente a partir do local ou do Azure VM SQL Server caso deve ser migrado antes da restauração da base de dados. Para obter passos detalhados, consulte Migrar um certificado TDE para um caso gerido.

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. Procure e selecione Subscrições.

    Mostrar subscrições no portal

  2. Selecione a subscrição na qual pretende criar a instância de Azure Database Migration Service e, em seguida, selecione fornecedores de Recursos.

    Mostrar fornecedores de recursos

  3. Procure por migração e, em seguida, selecione Registar-se para Microsoft. DataMigration.

    Fornecedor de recursos de registo

Criar uma instância do Azure Database Migration Service

  1. No menu portal do Azure ou na página Inicial, selecione Criar um recurso. Procure e selecione Azure Database Migration Service.

    Azure Marketplace

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

    Criar instância do Azure Database Migration Service

    Selecione a opção Continue a utilizar Azure Database Migration Service.

    Selecione Database Migration Service cenário

  3. No ecrã básico do Serviço de Migração Create :

    • Selecione uma subscrição.
    • Crie um novo grupo de recursos ou escolha um existente.
    • Especifique um nome para a instância do Azure Database Migration Service.
    • Selecione o local em que pretende criar a Azure Database Migration Service.
    • 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.

    Configurar definições básicas de Azure Database Migration Service instância

    • Selecione Seguinte: Rede.
  4. No ecrã de networking do Serviço de Migração Create :

    • Selecione uma rede virtual existente ou crie uma nova. A rede virtual fornece Azure Database Migration Service acesso ao servidor de origem e à instância alvo. Para obter mais informações sobre como criar uma rede virtual no portal do Azure, consulte o artigo Criar uma rede virtual utilizando o portal do Azure.

    Configurar definições de rede de Azure Database Migration Service instância

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

    • Após alguns momentos, o seu exemplo do serviço de migração da Base de Dados Azure é criado e pronto a ser utilizado:

    O serviço de migração foi criado

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 portal do Azure, selecione Todos os serviços. Pesquise e selecione serviços de migração da Base de Dados Azure.

    Localize todas as instâncias de Azure Database Migration Service

  2. No ecrã Azure Database Migration Services, selecione a Azure Database Migration Service instância que criou.

  3. Selecione Novo Projeto de Migração.

    Localize a sua instância de Azure Database Migration Service

  4. No novo ecrã do projeto de migração, especifique um nome para o projeto, na caixa de texto do tipo do servidor Fonte, selecione SQL Server, na caixa de texto do tipo do servidor Target, selecione SQL do Azure Database Managed Instance e, em seguida, para Escolher o tipo de atividade, selecione migração de dados online.

    Criar Projeto do Azure Database Migration Service

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

Especificar os detalhes da origem

  1. No ecrã de origem Select, especifique os detalhes da ligação para a origem SQL Server instância.

    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 ligações TLS que são encriptadas usando um certificado auto-assinado não proporcionam uma segurança forte. São suscetíveis a ataques man-in-the-middle. Não deve confiar no TLS utilizando certificados auto-assinados num ambiente de produção ou em servidores ligados à internet.

    Detalhes da Origem

  3. Selecione Seguinte: Selecione o alvo

Especificar os detalhes do destino

  1. No ecrã alvo Select, especifique o ID e a Chave de aplicação que a instância DMS pode usar para ligar à instância alvo de SQL Managed Instance e à Conta de Armazenamento Azure.

    Para obter mais informações, veja o artigo Utilizar o portal para criar uma aplicação e um principal de serviço do Azure Active Directory que possam aceder aos recursos.

  2. Selecione a Assinatura contendo a instância-alvo de SQL Managed Instance e, em seguida, escolha a instância target SQL Managed.

    Se ainda não a provisionou o SQL Managed Instance, selecione o link para o ajudar a providenciar o caso. Quando o SQL Managed Instance estiver pronto, volte a este projeto específico para executar a migração.

  3. Forneça o Utilizador e a Palavra-passe SQ para ligar ao SQL Managed Instance.

    Selecionar o Destino

  4. Selecione Seguinte: Selecione bases de dados.

Especificar bases de dados de origem

  1. No ecrã de bases de dados Select , selecione as bases de dados de origem que pretende migrar.

Selecionar as bases de dados de origem

Importante

Se utilizar SQL Server Serviços de Integração (SSIS), o DMS não suporta atualmente a migração da base de dados do catálogo para os seus projetos/pacotes SSIS (SSISDB) de SQL Server a SQL Managed Instance. No entanto, pode prospeccionar o SSIS em Azure Data Factory (ADF) e recolocar os seus projetos/pacotes SSIS para o destino SSISDB hospedado por SQL Managed Instance. Para obter mais informações sobre os pacotes SSIS migratórios, consulte o artigo Pacotes de Serviços de Integração migração SQL Server para Azure.

  1. Selecione Seguinte: Configurar as definições de migração.

Configurar as definições da migração

  1. No ecrã de configuração das definições de migração , forneça os seguintes detalhes:

    Parâmetro Descrição
    Partilha de localização na Rede SMB A partilha de rede SMB local ou a partilha de ficheiros Azure que contém os ficheiros de cópia de segurança da base de dados completa e ficheiros de cópia de segurança de registo de transações que Azure Database Migration Service podem 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. Fornecer um endereço FQDN ou IP do servidor na partilha de rede, por exemplo, '\\\servername.domainname.com\backupfolder' ou '\\\IP address\backupfolder'. Para um melhor desempenho, recomenda-se a utilização de pastas separadas para cada base de dados a ser migrada. Pode fornecer a trajetória de partilha de ficheiros de nível de base de dados utilizando a opção Definições Avançadas . Se estiver a detear problemas ligados à parte SMB, consulte a partilha 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. Azure Database Migration Service personificará a credencial do utilizador para enviar os ficheiros de cópia de segurança para o recipiente de armazenamento Azure para restaurar o funcionamento. Se utilizar a partilha do Ficheiro Azure, utilize o nome da conta de armazenamento pré-pendido com AZURE\ como nome de utilizador.
    Palavra-passe A palavra-passe do utilizador. Se utilizar a partilha de ficheiros Azure, utilize uma chave de conta de armazenamento como palavra-passe.
    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.

    Configurações de migração configure

    Nota

    Se Azure Database Migration Service mostrar erro 'Erro do Sistema 53' ou 'Erro do Sistema 57', a causa pode resultar de uma incapacidade de Azure Database Migration Service aceder à partilha de ficheiros Azure. Se encontrar um destes erros, por favor, conceda acesso à conta de armazenamento a partir da rede virtual, utilizando as instruções aqui.

    Importante

    Se a funcionalidade de verificação de loopback estiver ativada e a SQL Server de origem e a partilha de ficheiros estiverem no mesmo computador, então a fonte não será capaz de aceder à lebre de ficheiros usando fQDN. Para corrigir este problema, desative a funcionalidade de verificação do loopback utilizando as instruções aqui.

  2. Selecione Seguinte: Resumo.

Rever o resumo da migração

  1. No ecrã Resumo , na caixa de texto do nome de atividade , especifique um nome para a atividade de migração.

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

    Resumo do projeto de migração

Executar e monitorizar a migração

  1. Selecione Iniciar a migração.

  2. A janela de atividade de migração aparece mostrando o estado de migração das bases de dados atuais. Selecione Refresh para atualizar o visor.

    Atividade de migração em curso

    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.

    Estado da atividade migratória

Efetuar a transferência da migração

Após a restauração da cópia de segurança completa da base de dados no caso alvo de SQL Managed Instance, a base de dados está disponível para a realização de um corte 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 momento, verá que as Alterações pendentes estão definidas como 0.

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

    Preparar para concluir transferência

    Importante

    Após o corte, a disponibilidade de SQL Managed Instance com Crítico para a Empresa nível de serviço só pode demorar significativamente mais do que Fins Gerais, uma vez que três réplicas secundárias têm de ser semeadas para o grupo Always On High Availability. Esta duração da operação depende da dimensão dos dados, para mais informações ver a duração das operações de gestão.

  5. Quando o estado de migração da base de dados aparecer concluído, ligue as suas aplicações à nova instância-alvo de SQL Managed Instance.

    Transferência concluída

Recursos adicionais