Tutorial: Migrar SQL Server para Azure SQL Managed Instance online no Azure Data Studio

Utilize a extensão de migração SQL do Azure no Azure Data Studio para migrar bases de dados de uma instância SQL Server para uma Azure SQL Managed Instance com um período de inatividade mínimo. Para obter métodos que possam exigir algum esforço manual, veja o artigo SQL Server migração de instâncias para Azure SQL Managed Instance.

Neste tutorial, vai migrar a base de dados AdventureWorks de uma instância no local de SQL Server para Azure SQL Managed Instance com um período de indisponibilidade mínimo com o Azure Data Studio com Azure Database Migration Service (DMS). Este tutorial centra-se no modo de migração online em que o tempo de inatividade da aplicação está limitado a uma curta transferência no final da migração.

Neste tutorial, ficará a saber como:

  • Iniciar o assistente Migrar para SQL do Azure no Azure Data Studio
  • Executar uma avaliação das bases de dados SQL Server de origem
  • Recolher dados de desempenho do seu SQL Server de origem
  • Obter uma recomendação do SKU Azure SQL Managed Instance mais adequado para a carga de trabalho
  • Especifique os detalhes da sua SQL Server de origem, da localização da cópia de segurança e do Azure SQL Managed Instance de destino
  • Criar um novo Azure Database Migration Service e instalar o runtime de integração autoalojado para aceder ao servidor de origem e às cópias de segurança
  • Iniciar e monitorizar o progresso da migração
  • Efetuar a transferência de migração quando estiver pronto

Importante

Prepare-se para migração e reduza ao máximo a duração do processo de migração online para minimizar o risco de interrupção causada pela reconfiguração da instância ou pela manutenção planeada. Em caso de tal evento, o processo de migração começará desde o início. Em caso de manutenção planeada, existe um período de tolerância de 36 horas em que o destino Azure SQL Managed Instance configuração ou manutenção será mantido antes de o processo de migração ser reiniciado.

Dica

No Azure Database Migration Service, pode migrar as bases de dados offline ou enquanto estão online. Numa migração offline , o tempo de inatividade da aplicação começa quando a migração é iniciada. Para limitar o tempo de inatividade ao tempo que demora a reduzir para o novo ambiente após a migração, utilize uma migração online . Recomendamos que teste uma migração offline para determinar se o período de inatividade é aceitável. Se o período de indisponibilidade esperado não for aceitável, faça uma migração online.

Este artigo descreve uma migração de base de dados online de SQL Server para Azure SQL Managed Instance. Para uma migração de base de dados offline, veja Migrar SQL Server para um SQL Managed Instance offline com o Azure Data Studio com o DMS.

Pré-requisitos

Para concluir este tutorial, precisa de:

  • Transferir e instalar o Azure Data Studio

  • Instalar a extensão de migração do SQL do Azure a partir do marketplace do Azure Data Studio

  • Tenha uma conta do Azure atribuída a uma das funções incorporadas listadas abaixo:

    • Contribuidor para o Azure SQL Managed Instance de destino (e Conta de Armazenamento para carregar os ficheiros de cópia de segurança da base de dados a partir da partilha de rede SMB).
    • Função de leitor para os Grupos de Recursos do Azure que contêm o Azure SQL Managed Instance de destino ou a conta de armazenamento do Azure.
    • Função de Proprietário ou Contribuidor para a subscrição do Azure (necessária se criar um novo serviço DMS).
    • Como alternativa à utilização das funções incorporadas acima, pode atribuir uma função personalizada conforme definido neste artigo.

    Importante

    A conta do Azure só é necessária ao configurar os passos de migração e não é necessária para os passos de avaliação ou recomendação do Azure no assistente de migração.

  • Crie um Azure SQL Managed Instance de destino.

  • Certifique-se de que os inícios de sessão utilizados para ligar a SQL Server de origem são membros da função de servidor sysadmin ou têm CONTROL SERVER permissão.

  • Utilize uma das seguintes opções de armazenamento para a base de dados completa e os ficheiros de cópia de segurança do registo de transações:

    • Partilha de rede SMB
    • Partilha de ficheiros ou contentor de blobs da conta de armazenamento do Azure

    Importante

    • A extensão de Migração do SQL do Azure para o Azure Data Studio não faz cópias de segurança de bases de dados nem inicia cópias de segurança de bases de dados em seu nome. Em vez disso, o serviço utiliza ficheiros de cópia de segurança de bases de dados existentes para a migração.
    • Se os ficheiros de cópia de segurança da base de dados forem fornecidos numa partilha de rede SMB, crie uma conta de armazenamento do Azure que permita ao serviço DMS carregar os ficheiros de cópia de segurança da base de dados. Certifique-se de que cria a Conta de Armazenamento do Azure na mesma região que a instância Azure Database Migration Service é criada.
    • 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 é suportado acrescentar várias cópias de segurança (ou seja, total e t-log) num único suporte de dados de cópia de segurança.
    • Utilize cópias de segurança comprimidas para reduzir a probabilidade de ter potenciais problemas associados à migração de cópias de segurança grandes.
  • Certifique-se de que a conta de serviço que executa a instância de SQL Server de origem tem permissões de leitura e escrita na partilha de rede SMB que contém ficheiros de cópia de segurança da base de dados.

  • A origem SQL Server certificado de instância de uma base de dados protegida pela Encriptação de Dados Transparente (TDE) tem de ser migrada para o Azure SQL Managed Instance de destino ou SQL Server na máquina virtual do Azure antes de migrar dados. Para saber mais, veja Migrar um certificado de uma base de dados protegida por TDE para Azure SQL Managed Instance e Mover uma Base de Dados Protegida por TDE para Outra SQL Server.

    Dica

    Se a base de dados contiver dados confidenciais protegidos por Always Encrypted, o processo de migração que utiliza o Azure Data Studio com o DMS migrará automaticamente as chaves de Always Encrypted para o Azure SQL Managed Instance de destino ou SQL Server na máquina virtual do Azure .

  • Se as cópias de segurança da base de dados estiverem numa partilha de ficheiros de rede, forneça um computador para instalar o runtime de integração autoalojado para aceder e migrar cópias de segurança de bases de dados. O assistente de migração fornece a ligação de transferência e as chaves de autenticação para transferir e instalar o runtime de integração autoalojado. Em preparação para a migração, certifique-se de que o computador onde planeia instalar o runtime de integração autoalojado tem as seguintes regras de firewall de saída e nomes de domínio ativados:

    Nomes de domínio Portas de saída Description
    Cloud Pública: {datafactory}.{region}.datafactory.azure.net
    ou *.frontend.clouddatahub.net
    Azure Government:{datafactory}.{region}.datafactory.azure.us
    China: {datafactory}.{region}.datafactory.azure.cn
    443 Necessário pelo runtime de integração autoalojado para ligar ao serviço de Migração de Dados.
    Para uma fábrica de dados recentemente criada na nuvem pública, localize o FQDN a partir da chave de runtime de integração autoalojada, que está no formato {datafactory}.{region}.datafactory.azure.net. Para a fábrica de dados antiga, se não vir o FQDN na sua chave de integração autoalojada, utilize *.frontend.clouddatahub.net em alternativa.
    download.microsoft.com 443 Obrigatório pelo runtime de integração autoalojado para transferir as atualizações. Se tiver desativado a atualização automática, pode ignorar a configuração deste domínio.
    *.core.windows.net 443 Utilizado pelo runtime de integração autoalojado que se liga à conta de armazenamento do Azure para carregar cópias de segurança da base de dados a partir da partilha de rede

    Dica

    Se os ficheiros de cópia de segurança da base de dados já estiverem incluídos numa conta de armazenamento do Azure, não é necessário um runtime de integração autoalojado durante o processo de migração.

  • Quando estiver a utilizar um runtime de integração autoalojado, certifique-se de que o computador onde o runtime está instalado pode ligar-se à instância de SQL Server de origem e à partilha de ficheiros de rede onde estão localizados ficheiros de cópia de segurança. A porta de saída 445 deve estar ativada para permitir o acesso à partilha de ficheiros de rede. Veja também recomendações para utilizar um runtime de integração autoalojado

  • Se estiver a utilizar o Azure Database Migration Service pela primeira vez, certifique-se de que o fornecedor de recursos Microsoft.DataMigration está registado na sua subscrição. Pode seguir os passos para registar o fornecedor de recursos

Iniciar o assistente Migrar para SQL do Azure no Azure Data Studio

  1. Abra o Azure Data Studio e selecione o ícone do servidor para ligar ao seu SQL Server no local (ou SQL Server na máquina virtual do Azure).
  2. Na ligação do servidor, clique com o botão direito do rato e selecione Gerir.
  3. Na home page do servidor, selecione SQL do Azure Extensão de migração.
  4. No dashboard migração do SQL do Azure, selecione Migrar para SQL do Azure para iniciar o assistente de migração. Iniciar o assistente Migrar para SQL do Azure
  5. A primeira página do assistente irá permitir-lhe iniciar uma nova sessão ou retomar uma sessão guardada anteriormente. Escolha a primeira opção para iniciar uma nova sessão.

Executar a avaliação da base de dados, recolher dados de desempenho e obter a recomendação do Azure

  1. Selecione as bases de dados para executar a avaliação e selecione Seguinte.
  2. Selecione Azure SQL Managed Instance como o destino. Confirmação da avaliação
  3. Selecione no botão Ver/Selecionar para ver os detalhes dos resultados da avaliação das bases de dados, selecione as bases de dados a migrar e selecione OK. Se forem apresentados problemas nos resultados da avaliação, têm de ser remediados antes de prosseguirem com os passos seguintes. Detalhes da avaliação da base de dados
  4. Clique no botão Obter recomendação do Azure .
  5. Escolha a opção Recolher dados de desempenho agora e introduza um caminho para que os registos de desempenho sejam recolhidos e clique no botão Iniciar .
  6. O Azure Data Studio irá recolher dados de desempenho até parar a coleção, premir o botão Seguinte no assistente ou fechar o Azure Data Studio.
  7. Após 10 minutos, verá uma configuração recomendada para o seu Azure SQL Managed Instance. Também pode premir a ligação Atualizar recomendação após os 10 minutos iniciais para atualizar a recomendação com os dados adicionais recolhidos.
  8. Na caixa de Azure SQL Managed Instance acima, clique no botão Ver detalhes para obter mais informações sobre a sua recomendação.
  9. Feche a caixa de detalhes da vista e prima o botão Seguinte .

Configurar as definições da migração

  1. Especifique a sua Azure SQL Managed Instance ao selecionar a sua subscrição, localização, grupo de recursos nas listas pendentes correspondentes e, em seguida, selecione Seguinte.
  2. Selecione Migração online como o modo de migração.

    Nota

    No modo de migração online, a base de dados de SQL Server de origem pode ser utilizada para a atividade de leitura e escrita, enquanto as cópias de segurança da base de dados são restauradas continuamente no Azure SQL Managed Instance de destino. O tempo de inatividade da aplicação está limitado à duração da transferência no final da migração.

  3. Selecione a localização das cópias de segurança da base de dados. As cópias de segurança da base de dados podem estar localizadas numa partilha de rede no local ou num contentor de blobs de armazenamento do Azure.

    Nota

    Se as cópias de segurança da base de dados forem fornecidas numa partilha de rede no local, o DMS exigirá que configure um runtime de integração autoalojado no próximo passo do assistente. Se for necessário um runtime de integração autoalojado para aceder às cópias de segurança da base de dados de origem, verifique a validade do conjunto de cópias de segurança e carregue-as para a sua conta de armazenamento do Azure.
    Se as cópias de segurança da base de dados já estiverem num contentor de blobs de armazenamento do Azure, não precisa de configurar um runtime de integração autoalojado.

  • Para cópias de segurança localizadas numa partilha de rede, forneça os seguintes detalhes do SQL Server de origem, localização da cópia de segurança de origem, nome da base de dados de destino e conta de armazenamento do Azure para os ficheiros de cópia de segurança a carregar:

    Campo Descrição
    Credenciais de Origem - Nome de utilizador A credencial (autenticação Windows/SQL) para ligar à instância de SQL Server de origem e validar os ficheiros de cópia de segurança.
    Credenciais de Origem - Palavra-passe A credencial (autenticação Windows/SQL) para ligar à instância de SQL Server de origem e validar os ficheiros de cópia de segurança.
    Localização da partilha de rede que contém cópias de segurança A localização da partilha de rede que contém os ficheiros de cópia de segurança de registo de transações e completos. Quaisquer ficheiros ou ficheiros de cópias de segurança inválidos na partilha de rede que não pertençam ao conjunto de cópias de segurança válidos serão automaticamente ignorados durante o processo de migração.
    Conta de utilizador do Windows com acesso de leitura à localização da partilha de rede A credencial do Windows (nome de utilizador) que tem acesso de leitura à partilha de rede para obter os ficheiros de cópia de segurança.
    Palavra-passe A credencial do Windows (palavra-passe) que tem acesso de leitura à partilha de rede para obter os ficheiros de cópia de segurança.
    Nome da base de dados de destino O nome da base de dados de destino pode ser modificado se quiser alterar o nome da base de dados no destino durante o processo de migração.
    Detalhes da conta de armazenamento O grupo de recursos e a conta de armazenamento para onde os ficheiros de cópia de segurança serão carregados. Não precisa de criar um contentor, uma vez que o DMS criará automaticamente um contentor de blobs na conta de armazenamento especificada durante o processo de carregamento.
  • Para cópias de segurança armazenadas num contentor de blobs de armazenamento do Azure, especifique os detalhes abaixo do nome da base de dados de destino, Grupo de recursos, conta de armazenamento do Azure, contentor de Blobs das listas pendentes correspondentes.

    Campo Descrição
    Nome da base de dados de destino O nome da base de dados de destino pode ser modificado se quiser alterar o nome da base de dados no destino durante o processo de migração.
    Detalhes da conta de armazenamento O grupo de recursos, a conta de armazenamento e o contentor onde estão localizados os ficheiros de cópia de segurança.

    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, a origem não conseguirá aceder à partilha de ficheiros com o FQDN. Para corrigir este problema, desative a funcionalidade de verificação de loopback com as instruções aqui

Criar Azure Database Migration Service

  1. Crie um novo Azure Database Migration Service ou reutilize um Serviço existente que criou anteriormente.

    Nota

    Se já tinha criado o DMS com o Portal do Azure, não pode reutilizá-lo no assistente de migração no Azure Data Studio. Apenas o DMS criado anteriormente com o Azure Data Studio pode ser reutilizado.

  2. Selecione o Grupo de recursos onde tem um DMS existente ou tem de criar um novo. A lista pendente Azure Database Migration Service listará qualquer DMS existente no grupo de recursos selecionado.
  3. Para reutilizar um DMS existente, selecione-o na lista pendente e o estado do runtime de integração autoalojado será apresentado na parte inferior da página.
  4. Para criar um novo DMS, selecione Criar novo. No ecrã Criar Azure Database Migration Service, indique o nome do DMS e selecione Criar.
  5. Após a criação bem-sucedida do DMS, ser-lhe-ão fornecidos detalhes para configurar o runtime de integração.
  6. Selecione Transferir e instalar o runtime de integração para abrir a ligação de transferência num browser. Conclua a transferência. Instale o runtime de integração num computador que cumpra os pré-requisitos de ligação à SQL Server de origem e à localização que contém a cópia de segurança de origem.
  7. Após a conclusão da instalação, o Microsoft Integration Runtime Configuration Manager será iniciado automaticamente para iniciar o processo de registo.
  8. Copie e cole uma das chaves de autenticação fornecidas no ecrã do assistente no Azure Data Studio. Se a chave de autenticação for válida, é apresentado um ícone de verificação verde no Integration Runtime Configuration Manager que indica que pode continuar a Registar.
  9. Depois de concluir com êxito o registo do runtime de integração autoalojado, feche o Microsoft Integration Runtime Configuration Manager e regresse ao assistente de migração no Azure Data Studio.
  10. Selecione Testar ligação no ecrã Criar Azure Database Migration Service no Azure Data Studio para confirmar que o DMS recentemente criado está ligado ao runtime de integração autoalojado recentemente registado. Testar o runtime de integração da ligação
  11. Reveja o resumo da migração e selecione Concluído para iniciar a migração da base de dados.

Monitorizar a migração

  1. No Estado da Migração da Base de Dados, pode controlar as migrações em curso, as migrações concluídas e as migrações falhadas (se existirem).

    monitorizar dashboard de migração

  2. Selecione Migrações de bases de dados em curso para ver as migrações em curso e obter mais detalhes ao selecionar o nome da base de dados.

  3. A página de detalhes da migração apresenta os ficheiros de cópia de segurança e o estado correspondente:

    Estado Descrição
    Chegou O ficheiro de cópia de segurança chegou à localização da cópia de segurança de origem e foi validado
    A carregar O runtime de integração está atualmente a carregar o ficheiro de cópia de segurança para o armazenamento do Azure
    Carregado O ficheiro de cópia de segurança é carregado para o armazenamento do Azure
    A restaurar Azure Database Migration Service está atualmente a restaurar o ficheiro de cópia de segurança para Azure SQL Managed Instance
    Restaurado O ficheiro de cópia de segurança é restaurado com êxito no Azure SQL Managed Instance
    Cancelado O processo de migração foi cancelado
    Ignorado O ficheiro de cópia de segurança foi ignorado porque não pertence a uma cadeia de cópia de segurança de base de dados válida

    detalhes do restauro da cópia de segurança

Concluir transferência de migração

O passo final do tutorial é concluir a transferência da migração para garantir que a base de dados migrada no Azure SQL Managed Instance está pronta para ser utilizada. Esta é a única parte do processo que requer tempo de inatividade para as aplicações que se ligam à base de dados e, por conseguinte, o tempo da transferência tem de ser cuidadosamente planeado com os intervenientes da empresa ou da aplicação.

Para concluir a transferência:

  1. Pare todas as transações recebidas na base de dados de origem.
  2. Faça alterações à configuração da aplicação para apontar para a base de dados de destino no Azure SQL Managed Instance.
  3. Faça uma cópia de segurança de registo final da base de dados de origem na localização de cópia de segurança especificada
  4. Coloque a base de dados de origem no modo só de leitura. Por conseguinte, os utilizadores podem ler dados da base de dados, mas não modificá-lo.
  5. Certifique-se de que todas as cópias de segurança da base de dados têm o estado Restaurado na página de detalhes de monitorização.
  6. Selecione Concluir transferência na página de detalhes de monitorização.

Durante o processo de transferência, o estado de migração muda de em curso para concluído. Quando o processo de transferência estiver concluído, o estado de migração muda para com êxito para indicar que a migração da base de dados foi efetuada com êxito e que a base de dados migrada está pronta para ser utilizada.

Importante

Após a transferência, a disponibilidade de SQL Managed Instance com Crítico para a Empresa escalão 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 de Elevada Disponibilidade AlwaysOn. Esta duração da operação depende do tamanho dos dados, para obter mais informações, veja Duração das operações de gestão.

Limitações

Migrar para Azure SQL Managed Instance com a extensão de SQL do Azure do Azure Data Studio tem as seguintes limitações:

  • Se migrar uma base de dados individual, as cópias de segurança da base de dados têm de ser colocadas numa estrutura de ficheiro simples dentro de uma pasta de base de dados (incluindo a pasta raiz do contentor) e as pastas não podem ser aninhadas, uma vez que não são suportadas.
  • Se migrar várias bases de dados com o mesmo contentor de Armazenamento de Blobs do Azure, tem de colocar ficheiros de cópia de segurança para diferentes bases de dados em pastas separadas dentro do contentor.
  • A substituição de bases de dados existentes com o DMS no Azure SQL Managed Instance de destino não é suportada.
  • A configuração da elevada disponibilidade e recuperação após desastre no destino para corresponder à topologia de origem não é suportada pelo DMS.
  • Os seguintes objetos de servidor não são suportados:
    • Inícios de sessão
    • SQL Server Agent tarefas
    • Credenciais
    • Pacotes SSIS
    • Funções de servidor
    • Auditoria do servidor
  • Não pode utilizar um runtime de integração autoalojado existente criado a partir de Azure Data Factory para migrações de bases de dados com o DMS. Inicialmente, o runtime de integração autoalojado deve ser criado com a extensão de migração SQL do Azure no Azure Data Studio e pode ser reutilizado para migrações de bases de dados adicionais.
  • Uma única tarefa LRS (criada pelo DMS) pode ser executada durante um máximo de 30 dias. Quando este período expirar, a tarefa é automaticamente cancelada, pelo que a base de dados de destino é automaticamente eliminada.

Passos seguintes