Copiar ou mover um banco de dados - Instância Gerenciada SQL do Azure

Aplica-se a:Instância Gerenciada SQL do Azure

Este artigo descreve como copiar ou mover um banco de dados online entre instâncias na Instância Gerenciada SQL do Azure. As operações de cópia e movimentação de banco de dados têm suporte em diferentes assinaturas do Azure dentro do mesmo locatário do Azure.

Descrição geral

Você pode executar uma cópia online ou mover uma operação de banco de dados entre instâncias gerenciadas usando a tecnologia de grupo de disponibilidade Always On. O recurso copiar e mover cria um novo banco de dados na instância de destino como uma cópia do banco de dados de origem. Com esse recurso, a replicação de dados é confiável, consistente, assíncrona e quase em tempo real.

Quando você copia um banco de dados, o banco de dados de origem permanece online durante a operação e após sua conclusão.

Por outro lado, quando você move um banco de dados, o banco de dados de origem é descartado após a conclusão da operação.

Você pode executar várias cópias de banco de dados e mover operações da instância gerenciada de origem para uma ou mais instâncias de destino.

Copiar e mover um banco de dados é diferente da restauração point-in-time (PITR) porque cria uma cópia do banco de dados após a conclusão da operação. O PITR cria uma cópia do banco de dados a partir de um momento especificado no passado.

Importante

Quando você move um banco de dados para um novo destino, os backups PITR existentes não são movidos com o banco de dados e não estão disponíveis. O banco de dados inicia uma nova cadeia de backup na instância de destino no momento em que a operação de movimentação é concluída.

Quando usar o recurso

Mover ou copiar um banco de dados é útil quando você deseja:

  • Gerencie o crescimento do banco de dados e os requisitos de desempenho.
  • Equilibre cargas de trabalho em várias instâncias gerenciadas.
  • Mova bancos de dados para uma instância com mais recursos disponíveis para lidar com a carga de trabalho.
  • Consolide vários bancos de dados de várias instâncias.
  • Crie paridade de banco de dados entre ambientes de desenvolvimento, teste e produção.

Fluxo de trabalho

Aqui está o fluxo de trabalho para copiar ou mover um banco de dados:

  1. Escolha o banco de dados, a instância gerenciada de origem e a instância de destino e inicie a operação.

    O banco de dados é semeado para o servidor de destino. Verifique o status para determinar se a operação está em andamento ou se foi bem-sucedida.

  2. Depois que a semeadura terminar, o estado da operação mostra-se como pronto para conclusão.

    Até que a operação seja concluída manualmente, todas as alterações que acontecem no banco de dados de origem são aplicadas ao banco de dados de destino. Você pode cancelar a operação a qualquer momento. Você tem 24 horas para concluir explicitamente a operação. Se você não concluir a operação dentro de 24 horas, ela será automaticamente cancelada e o banco de dados de destino será descartado.

  3. Depois de concluir manualmente a operação, o banco de dados de destino fica online e pronto para cargas de trabalho de leitura/gravação.

  4. Se você optar por mover o banco de dados, o banco de dados de origem será descartado. Se você optar por copiar o banco de dados, o banco de dados de origem permanecerá online, mas a sincronização de dados será interrompida.

Um exemplo de fluxo de trabalho para uma operação de movimentação é ilustrado no diagrama a seguir:

Diagram that illustrates the workflow of a move operation.

O design da operação de movimentação do banco de dados garante que não haja perda de dados. Quando um usuário conclui a operação de movimentação, o banco de dados de origem para de aceitar quaisquer cargas de trabalho e a transação é replicada para o banco de dados de destino. Só então, o banco de dados de destino fica online e o banco de dados de origem é descartado. Esse design garante que todos os dados do banco de dados de origem sejam movidos para o banco de dados de destino.

A operação de cópia do banco de dados é semelhante à movimentação do banco de dados. A única diferença importante é como a operação termina. A conclusão da operação de cópia do banco de dados interrompe a replicação do log de transações para o banco de dados de destino. Embora o usuário emita explicitamente o comando para concluir a operação de cópia, ele não controla o momento exato em que a replicação de log é interrompida. Finalmente, os bancos de dados de origem e de destino estão online, independentes e prontos para a carga de trabalho de leitura/gravação.

Pré-requisitos

Antes de copiar ou mover um banco de dados, você deve atender aos seguintes requisitos:

  • Você deve ter permissões de leitura para o grupo de recursos que contém a instância gerenciada de origem e deve ter permissões de gravação no nível do banco de dados para as instâncias de origem e de destino.
  • Se as instâncias de origem e de destino estiverem em redes virtuais diferentes, deve haver conectividade de rede entre as redes virtuais das duas instâncias, como com o emparelhamento de rede virtual do Azure. Além disso, o tráfego de entrada e saída na porta 5022 e no intervalo de portas 11000-11999 precisa ser permitido para o protocolo TCP. Isso se aplica a ambas as sub-redes, hospedando a instância de origem e a instância de destino. Aqui está a documentação sobre como estabelecer conectividade de rede entre instâncias em diferentes VNets do Azure.

Copiar ou mover banco de dados

Você pode copiar ou mover um banco de dados para outra instância gerenciada usando o portal do Azure. Para tal:

  1. Vá para sua instância gerenciada no portal do Azure.

  2. Em Gerenciamento de dados, selecione Bancos de dados.

  3. Selecione um ou mais bancos de dados e, em seguida, selecione a opção Copiar ou Mover na parte superior do painel.

    Selecionar Mover descarta o banco de dados de origem quando a operação é concluída e selecionar Copiar deixa o banco de dados de origem online quando a operação é concluída. Selecionar uma das opções abre a página Mover Banco de Dados Gerenciado ou Copiar Banco de Dados Gerenciado. Depois que a página for aberta, você poderá selecionar mais bancos de dados para incluir na operação.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, with the 'Move' and 'Copy' options highlighted.

  4. No painel Detalhes de origem, forneça detalhes para o banco de dados de origem e a instância gerenciada.

  5. No painel Detalhes do destino, forneça detalhes para a instância gerenciada de destino.

  6. Selecione Rever + Iniciar para validar os detalhes de origem e destino e, em seguida, selecione Iniciar para iniciar a operação.

    Selecionar Iniciar leva você de volta à página Bancos de dados da sua instância, onde você pode monitorar o progresso da operação.

  7. Na página Bancos de dados, verifique a coluna Detalhes da operação para verificar se o status da operação é Mover em andamento ou Copiar em andamento.

    Se você precisar cancelar, selecione Em andamento, selecione o banco de dados com o qual está trabalhando e, em seguida, selecione Cancelar operação para interromper a propagação e descartar o banco de dados de destino.

    Screenshot of the 'Databases' page for Azure SQL Managed Instance, showing that a copy operation is in progress.

  8. Monitore a operação. Após a conclusão da propagação, a coluna Detalhes da operação exibe um status de Mover pronto para conclusão ou Copiar pronto para conclusão.

  9. Selecione Pronto para conclusão para abrir a coluna Detalhes da operação, escolha o banco de dados que você está pronto para copiar ou mover e, em seguida, selecione Concluir para finalizar a operação e colocar o banco de dados de destino online.

    As alterações feitas no banco de dados de origem são replicadas para o banco de dados de destino durante esse período, até que você selecione Concluir. Se você não concluir a operação dentro de 24 horas, ela será automaticamente cancelada e o banco de dados de destino será descartado. Selecionar Concluir finaliza a operação e leva você de volta à página Bancos de dados, onde você pode verificar se a operação foi concluída.

    Se você moveu o banco de dados, o nome do banco de dados não estará disponível porque agora está offline.

Execução de operações de cópia e movimentação

As operações de cópia e movimentação do banco de dados têm duas fases. A primeira é a semeadura inicial e a segunda é a replicação de alterações do banco de dados de origem para o banco de dados de destino. Normalmente, a semeadura inicial é uma fase mais exigente da operação. O tempo necessário para a conclusão da propagação inicial depende do tamanho dos dados e do número de operações ativas de cópia ou movimentação. A intensidade da carga de trabalho que está acontecendo na Instância Gerenciada SQL do Azure de origem e destino e a velocidade da rede entre a origem e o destino também influenciarão a velocidade de propagação. Em circunstâncias ideais, e quando a conectividade entre origem e destino é estabelecida usando o emparelhamento global de VNet recomendado, a velocidade de propagação é de até 360 GB por hora. O processo de semeadura e sua velocidade podem ser monitorados via sys.dm_hadr_physical_seeding_stats do Detran.

SELECT 
	role_desc,
	transfer_rate_bytes_per_second,
	transferred_size_bytes,
	database_size_bytes,
	start_time_utc,
	estimate_time_complete_utc,
	end_time_utc,
	local_physical_seeding_id
FROM
	sys.dm_hadr_physical_seeding_stats;

Limitações

Considere as seguintes limitações do recurso copiar e mover:

  • As instâncias de origem e de destino não podem ser as mesmas.
  • A instância de origem e a instância de destino precisam estar na mesma região do Azure.
  • Você pode copiar e mover somente bancos de dados de usuários . Não há suporte para copiar e mover bancos de dados do sistema .
  • Um banco de dados pode participar de apenas uma única operação de movimentação ou cópia de cada vez.
  • A instância de origem pode executar até oito operações de cópia ou movimentação de cada vez. Você pode iniciar mais de oito operações, mas algumas são enfileiradas e processadas posteriormente, conforme gerenciado pelo serviço.
  • Não é possível renomear um banco de dados durante uma operação de cópia ou movimentação.
  • As tags de banco de dados não são copiadas com a operação de cópia ou movimentação.
  • As operações de cópia e movimentação de banco de dados não copiam nem movem backups PITR.
  • Não é possível copiar ou mover um banco de dados que faça parte de um grupo de failover ou que esteja usando o link Instância Gerenciada.
  • A instância gerenciada de origem ou destino não deve ser configurada com uma configuração de grupo de failover (recuperação de desastres geográficos).
  • Você precisará reconfigurar a replicação transacional, a captura de dados de alteração (CDC) ou as transações distribuídas depois de mover um banco de dados que dependa desses recursos.

Mais documentação relacionada à cópia e movimentação do banco de dados.

Para outras opções de movimentação de dados, consulte: