Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Pode usar o Azure Database Migration Service (Azure DMS) através do portal Azure para migrar bases de dados de uma instância local de SQL Server para O que é SQL Server em Máquinas Virtuais Azure Windows? (Azure VM) com tempo de inatividade mínimo.
Para métodos de migração de banco de dados que podem exigir alguma configuração manual, consulte Migração de instância do SQL Server para o SQL Server em Máquinas Virtuais do Azure.
Neste tutorial, migra a AdventureWorks2025 base de dados de uma instância local de SQL Server para um SQL Server no Azure VM com tempo de inatividade mínimo, usando o Azure DMS.
Observação
Este tutorial utiliza o modo de migração offline, que inclui algum tempo de inatividade aceitável durante o processo de migração. Para opções de migração online, veja o Tutorial: Migrar SQL Server para SQL Server numa Máquina Virtual Azure com Azure DMS (online).
Neste tutorial, aprenderás como:
- Inicie o assistente Migrar para Azure SQL no portal Azure.
- Especifique os detalhes do seu SQL Server de origem, localização de backup e o SQL Server de destino na VM Azure.
- Configura o assistente para aceder ao servidor de origem e backups.
- Inicie e monitore o progresso da migração.
- Realize a conclusão da migração quando estiver pronto.
Opções de migração
A seção a seguir descreve como usar o Serviço de Migração de Banco de Dados do Azure com a extensão de migração SQL do Azure ou no portal do Azure.
Pré-requisitos
Antes de começar o tutorial:
Certifique-se de que você pode acessar o portal do Azure.
Certifique-se de que o fornecedor de recursos Microsoft.DataMigration está registado na sua subscrição.
Ter uma conta do Azure atribuída a uma das seguintes funções internas:
Contribuidor para a instância alvo do SQL Server numa VM Azure, e para a conta de armazenamento onde carrega os ficheiros de backup da base de dados a partir de uma partilha de rede Server Message Block (SMB).
Papel de leitor para o grupo de recursos Azure que contém a instância alvo do SQL Server numa VM Azure ou para a sua conta Azure Storage.
Papel de Proprietário ou Contribuinte para a subscrição Azure.
Como alternativa ao uso de uma dessas funções internas, pode atribuir funções personalizadas.
Quando usa o portal Azure para migrar, o utilizador com sessão deve ter acesso ao Storage Blob Data Reader no contentor de blob que contém os ficheiros de backup, para poder listar ficheiros e pastas durante a configuração da migração.
Crie uma instância de destino do SQL Server em Máquinas Virtuais do Azure.
Se tiver uma VM Azure existente, registe-a com a extensão SQL Server IaaS Agent em modo de gestão completa.
Certifique-se de que os logins que usa para se ligar à instância SQL Server de origem pertencem ao papel de servidor sysadmin , ou têm
CONTROL SERVERpermissão.Forneça uma partilha de rede SMB, uma partilha de ficheiros de conta Azure Storage ou um contentor de blob de contas Azure Storage que contenha os ficheiros completos de backup da base de dados e os subsequentes ficheiros de backup dos registos de transações. O Azure DMS utiliza a localização de backup durante a migração da base de dados.
Use sempre uma conta de armazenamento dedicada para migração. Compartilhá-lo com outras cargas de trabalho pode levar a conflitos e riscos de segurança.
Quando a migração estiver concluída, gire a chave da conta de armazenamento para manter os backups seguros ou exclua a conta de armazenamento se ela não for mais necessária.
O Azure DMS não aceita cópias de segurança da base de dados e não inicia quaisquer cópias de segurança da base de dados em seu nome. Em vez disso, o serviço usa arquivos de backup de banco de dados existentes para a migração.
Se os seus ficheiros de backup da base de dados estiverem numa partilha de rede SMB, crie uma conta Azure Storage que permita ao Azure DMS carregar os ficheiros de backup da base de dados e migrar bases de dados. Certifica-te de que crias a conta Azure Storage na mesma região onde crias a tua instância do Azure DMS.
Você pode gravar cada backup em um arquivo de backup separado ou em vários arquivos de backup. Não há suporte para a aplicação de vários backups, como logs completos e de transações, em uma única mídia de backup.
Você pode fornecer backups compactados para reduzir a probabilidade de problemas potenciais associados à migração de backups grandes.
Verifique se a conta de serviço que executa a instância do SQL Server de origem tem permissões de leitura e gravação no compartilhamento de rede SMB que contém arquivos de backup de banco de dados.
Se estiver a migrar uma base de dados protegida por encriptação de dados transparente (TDE), migre o certificado da instância de origem do SQL Server para o SQL Server numa VM Azure antes de migrar os dados. Para obter mais informações, consulte Mover um banco de dados protegido por TDE para outro SQL Server.
Sugestão
Se a sua base de dados contiver dados sensíveis protegidos pelo Always Encrypted, o processo de migração migra automaticamente as suas chaves Always Encrypted para a instância alvo do SQL Server numa VM Azure.
Se as cópias de segurança da base de dados estiverem numa partilha de ficheiros de rede, forneça um computador no qual possa instalar um tempo de execução de integração auto-hospedado para aceder e migrar cópias de segurança da base de dados. O assistente da migração fornece o link de download e as chaves de autenticação para baixar e instalar o seu runtime de integração auto-hospedado.
Em preparação para a migração, verifique se o computador no qual você instala o tempo de execução de integração auto-hospedado tem as seguintes regras de firewall de saída e nomes de domínio habilitados:
Nomes de domínio Porta de saída Description Nuvem pública: {datafactory}.{region}.datafactory.azure.net
ou*.frontend.clouddatahub.net
Azure Government:{datafactory}.{region}.datafactory.azure.us
Microsoft Azure operado pela 21Vianet:{datafactory}.{region}.datafactory.azure.cn443 Exigido pelo runtime de integração auto-hospedado para se ligar ao Azure DMS.
Para uma fábrica de dados recém-criada em uma nuvem pública, localize o nome de domínio totalmente qualificado (FQDN) da sua chave de tempo de execução de integração auto-hospedada, no formato{datafactory}.{region}.datafactory.azure.net.
Para um data factory existente, se você não vir o FQDN em sua chave de integração auto-hospedada, use*.frontend.clouddatahub.netem vez disso.download.microsoft.com443 Necessário pelo runtime de integração auto-hospedado para descarregar as atualizações. Se desativares a atualização automática, podes saltar a configuração deste domínio. *.core.windows.net443 Usado pelo runtime de integração auto-hospedado que se liga à conta Azure Storage para transferir backups da base de dados desde a sua partilha de rede Sugestão
Se já guardar os ficheiros de backup da sua base de dados numa conta Azure Storage, não precisa de um runtime de integração auto-hospedado durante o processo de migração.
Se você usar um tempo de execução de integração auto-hospedado, certifique-se de que o computador no qual o tempo de execução está instalado possa se conectar à instância do SQL Server de origem e ao compartilhamento de arquivos de rede onde os arquivos de backup estão localizados.
Habilite a porta de saída 445 para permitir o acesso ao compartilhamento de arquivos de rede. Para obter mais informações, consulte as recomendações para usar um runtime de integração auto-hospedado.
Se estiver a usar o Azure DMS pela primeira vez, certifique-se de que o
Microsoft.DataMigrationfornecedor de recursos está registado na sua subscrição.
Iniciar uma nova migração
Este tutorial descreve uma migração offline do SQL Server para o SQL Server numa VM Azure.
Para iniciar uma nova migração:
Vá ao Azure Database Migration Service no portal Azure. Use +Create para criar uma nova instância do Serviço de Migração de Base de Dados, ou selecione uma instância existente. Depois, vá à sua instância do Serviço de Migração de Base de Dados.
No painel de Visão Geral da sua instância Azure DMS, selecione Nova migração.
Em Selecionar novo cenário de migração , escolha a sua fonte, tipo de servidor alvo, localização de armazenamento de ficheiros de backup, modo de migração como migração offline e escolha Selecionar.
As suas cópias de segurança da base de dados podem ser localizadas numa partilha de rede local ou num contentor de blob Azure Storage.
Em modo de migração offline, a base de dados SQL Server de origem não deve ser usada para atividade de escrita enquanto os ficheiros de backup da base de dados são restaurados na instância alvo do SQL Server numa VM Azure. O tempo de inatividade do aplicativo persiste desde o início do processo de migração até sua conclusão.
No Assistente de Migração de Blobs Online para Máquinas Virtuais Azure SQL, siga estes passos:
No separador Detalhes de origem , introduza os detalhes da instância de SQL Server de origem e selecione Próximo: Ligar ao SQL Server de origem.
No separador Selecionar destino de migração , introduza detalhes para a subscrição, grupo de recursos e VM SQL Server de destino. Depois seleciona Próximo: Configuração da fonte de dados.
Use sempre uma conta de armazenamento dedicada para migração. Compartilhá-lo com outras cargas de trabalho pode levar a conflitos e riscos de segurança.
Quando a migração estiver concluída, gire a chave da conta de armazenamento para manter os backups seguros ou exclua a conta de armazenamento se ela não for mais necessária.
O Azure DMS não aceita cópias de segurança da base de dados e não inicia quaisquer cópias de segurança da base de dados em seu nome. Em vez disso, o serviço usa arquivos de backup de banco de dados existentes para a migração.
Se os seus ficheiros de backup da base de dados estiverem numa partilha de rede SMB, crie uma conta Azure Storage que permita ao Azure DMS carregar os ficheiros de backup da base de dados e migrar bases de dados. Certifica-te de que crias a conta Azure Storage na mesma região onde crias a tua instância do Azure DMS.
Você pode gravar cada backup em um arquivo de backup separado ou em vários arquivos de backup. Não há suporte para a aplicação de vários backups, como logs completos e de transações, em uma única mídia de backup.
Você pode fornecer backups compactados para reduzir a probabilidade de problemas potenciais associados à migração de backups grandes.
No passo de configuração da fonte de dados , selecione a localização das suas cópias de segurança da base de dados. As suas cópias de segurança da base de dados podem ser localizadas numa partilha de rede local ou num contentor de blob Azure Storage.
Se fornecer as suas cópias de segurança da base de dados numa partilha de rede local, configure um runtime de integração auto-hospedado na próxima etapa do assistente. Precisas de um runtime de integração auto-alojado para aceder aos backups da base de dados de origem, verificar a validade do conjunto de backups e carregar os backups para a conta de armazenamento Azure. Se as suas cópias de segurança da base de dados já estiverem num contentor de blob de armazenamento Azure, não precisa de um runtime de integração auto-hospedado.
Para backups armazenados num contentor de blob Azure Storage, introduza ou selecione a seguinte informação:
Nome Description Grupo de recursos O grupo de recursos onde estão localizados os ficheiros de backup. Detalhes da conta de armazenamento A conta de armazenamento onde estão localizados os ficheiros de backup. Contêiner de Blob O contentor de blob onde estão localizados os ficheiros de backup. Folder A pasta onde estão os ficheiros de backup. último arquivo de backup O nome do arquivo do último backup do banco de dados que você está migrando. Nome do banco de dados de destino Você pode modificar o nome do banco de dados de destino durante o processo de migração. Se a funcionalidade de verificação de loopback estiver ativada e o SQL Server de origem e a partilha de ficheiros estiverem no mesmo computador, a fonte não pode aceder à partilha de ficheiros com o FQDN. Para corrigir esse problema, desative a funcionalidade de verificação de loopback.
Para backups localizados numa partilha de rede, introduza a seguinte informação adicional nas respetivas páginas.
Nome Description Nome do servidor de origem O FQDN ou IP do servidor de origem. Certifique-se de que a conta de serviço que executa a instância SQL Server de origem tem privilégios de leitura na partilha de rede. Tipo de Autenticação Selecione o tipo de autenticação: SQL ou Windows Credenciais de origem - Nome de usuário A credencial (autenticação Windows e SQL) para se conectar à instância do SQL Server de origem e validar os arquivos de backup. Credenciais de origem - Senha A credencial (autenticação Windows e SQL) para se conectar à instância do SQL Server de origem e validar os arquivos de backup. Local de compartilhamento de rede que contém backups O local de compartilhamento de rede que contém os arquivos de backup completos e de log de transações. O processo de migração ignora automaticamente quaisquer ficheiros inválidos ou ficheiros de backup na partilha de rede que não pertençam ao conjunto de backup válido. conta de utilizador do Windows com acesso de leitura ao local de partilha de rede A credencial do Windows (nome de usuário) que tem acesso de leitura ao compartilhamento de rede para recuperar os arquivos de backup. Senha A credencial do Windows (palavra-passe) capaz de ler a partilha de rede para recuperar os ficheiros de backup. Nome do banco de dados de destino Você pode modificar o nome do banco de dados de destino durante o processo de migração.
Cenários de armazenamento de backup
A extensão de migração Azure SQL para Azure Data Studio não requer configurações específicas nas definições da sua conta de armazenamento Azure para migrar as bases de dados SQL Server para Azure.
Certifique-se de que os seus recursos podem aceder à conta Azure Storage. Dependendo da localização do backup da sua base de dados e das definições de rede da conta de armazenamento desejadas, consulte a tabela seguinte para os vários cenários de migração e configurações de rede:
| Scenario | Compartilhamento de rede SMB | Contêiner da conta de Armazenamento do Azure |
|---|---|---|
| Ativado a partir de todas as redes | Sem passos adicionais | Sem passos adicionais |
| Ativado a partir de redes virtuais selecionadas e endereços IP | Runtime de integração auto-hospedada no local (SHIR) | Backups armazenados no contentor Azure Storage |
| Ativado a partir de redes virtuais selecionadas e endereços IP + de ponto de extremidade privado | Runtime de integração auto-hospedada em Azure VM (SHIR) | Backups armazenados no contentor Azure Storage (endpoint privado) |
Runtime de integração auto-hospedada on-premises (SHIR)
Se instalar o seu SHIR na sua rede local, siga estes passos:
Liga-te ao portal Azure a partir da máquina SHIR.
Abra a sua conta Azure Storage e vá ao painel de Rede .
Certifique-se de que o acesso à rede pública está configurado como Ativado a partir de redes virtuais e endereços IP selecionados.
Na secção de Firewall , selecione a caixa de seleção Adicionar o endereço IP do seu cliente .
Introduza o endereço IP do cliente da máquina anfitriã e selecione Guardar.
Criar uma instância do Serviço de Migração de Banco de Dados
1º Passo: No portal do Azure, navegue até a página Serviço de Migração de Banco de Dados do Azure . Crie uma nova instância do Serviço de Migração de Banco de Dados do Azure ou reutilize uma instância existente criada anteriormente.
Usar uma instância existente do Serviço de Migração de Banco de Dados
Para usar uma instância existente do Serviço de Migração de Banco de Dados:
No portal do Azure, em Serviços de Migração de Banco de Dados do Azure, selecione uma instância existente do Serviço de Migração de Banco de Dados que você deseja usar, garantindo que ela esteja presente no Grupo de Recursos e na região corretos.
Criar uma nova instância do Serviço de Migração de Banco de Dados
Para criar uma nova instância do Serviço de Migração de Banco de Dados:
No portal do Azure, em Serviço de Migração de Banco de Dados do Azure, selecione Criar.
Em Selecionar cenário de migração e Serviço de Migração de Banco de Dados, selecione a entrada desejada como Tipo de servidor de origem e de destino, escolha Serviço de Migração de Banco de Dados e escolha Selecionar.
Na próxima tela Criar Serviço de Migração de Dados, selecione sua assinatura e grupo de recursos, selecione Local e insira o nome do Serviço de Migração de Banco de Dados. Selecione Avaliar + Criar. Isso cria o Serviço de Migração de Banco de Dados do Azure.
Se o tempo de execução de integração auto-hospedado (SHIR) for necessário, na página de visão geral do Serviço de Migração de Banco de Dados e em Configurações, selecione Tempo de execução de integração e conclua as seguintes etapas:
Selecione Configurar tempo de execução de integração e escolha o link Baixar e instalar o tempo de execução de integração para abrir o link de download em um navegador da Web. Baixe o tempo de execução da integração e instale-o em um computador que atenda aos pré-requisitos para se conectar à instância do SQL Server de origem. Para obter mais informações, consulte Recomendações STIR.
Quando a instalação estiver concluída, o Microsoft Integration Runtime Configuration Manager será aberto automaticamente para iniciar o processo de registro.
Na tabela Chave de autenticação , copie uma das chaves de autenticação fornecidas no assistente e cole-a no Microsoft Integration Runtime Configuration Manager.
Se a chave de autenticação for válida, um ícone de verificação verde será exibido no Integration Runtime Configuration Manager. Uma verificação verde indica que pode continuar a Registar.
Depois de registar o self-hosted Integration Runtime, feche o Microsoft Integration Runtime Configuration Manager. Pode levar vários minutos para refletir os detalhes do nó no Portal do Azure para o Serviço de Migração de Base de Dados, em Configurações de Tempo de Execução de Integração>.
Observação
Para obter mais informações sobre o tempo de execução de integração auto-hospedado, consulte Criar e configurar um tempo de execução de integração auto-hospedado.
Iniciar a migração do banco de dados
No separador Resumo de migração da base de dados, verifique os detalhes e selecione Iniciar migração. O serviço inicia a migração da base de dados e leva-o automaticamente de volta ao painel do Azure DMS.
Monitorar a migração do banco de dados
Para monitorizar a migração da sua base de dados, no painel de Visão Geral da sua instância DMS, selecione Monitorizar migrações.
Na guia Migrações , você pode acompanhar as migrações em andamento, concluídas e com falha (se houver) ou pode exibir todas as migrações de banco de dados. Na barra de menus, selecione Atualizar para atualizar o status da migração.
O Azure DMS devolve o estado de migração conhecido mais recente sempre que o estado da migração é atualizado. A tabela a seguir descreve os status possíveis:
| Situação | Description |
|---|---|
| chegou | O arquivo de backup chegou ao local de backup de origem e foi validado. |
| Carregando | O runtime de integração está a carregar o arquivo de backup para o armazenamento do Azure. |
| Carregado | O ficheiro de backup foi carregado para o armazenamento Azure. |
| Restaurando | O serviço está a restaurar o ficheiro de backup para o SQL Server numa VM Azure. |
| Restaurado | O ficheiro de backup foi restaurado com sucesso no SQL Server numa VM Azure. |
| Cancelado | O processo de migração foi cancelado. |
| Ignorado | O arquivo de backup foi ignorado porque não pertence a uma cadeia de backup de banco de dados válida. |
Depois de todas as cópias de segurança da base de dados serem restauradas na instância do SQL Server numa VM Azure, o Azure DMS inicia um cutover automático de migração para garantir que a base de dados migrada está pronta a usar. O status de migração muda de Em andamento para Bem-sucedida.
Limitações
Se migrar uma única base de dados, deve colocar as cópias de segurança da base de dados numa estrutura de ficheiros planos dentro de uma pasta de base de dados (incluindo a pasta raiz do contentor). Não podes aninhar estes diretórios, pois o aninhamento não é suportado.
Se você migrar vários bancos de dados usando o mesmo contêiner de Armazenamento de Blob do Azure, deverá colocar arquivos de backup para bancos de dados diferentes em pastas separadas dentro do contêiner.
Não podes sobrescrever bases de dados existentes no teu SQL Server de destino numa VM Azure usando DMS.
O Azure DMS não suporta a configuração de alta disponibilidade e recuperação de desastres no seu destino para corresponder à topologia de origem.
Os seguintes objetos de servidor não são suportados:
- Trabalhos do SQL Server Agent
- Credentials
- Pacotes do SQL Server Integration Services (SSIS)
- Auditoria do servidor
Não podes usar um runtime de integração auto-hospedado existente criado a partir do Azure Data Factory (ADF) para migrações de bases de dados com DMS. Inicialmente, deve criar o ambiente de execução de integração auto-hospedado usando a extensão de Migração do Azure SQL no Azure Data Studio. Podes reutilizá-lo para migrações futuras de bases de dados.
VMs com versões de destino do SQL Server 2008 e anteriores não são suportadas ao migrar para SQL Server numa VM Azure.
Se usar uma VM com SQL Server 2012 ou SQL Server 2014, precisa de armazenar os ficheiros de backup da base de dados de origem num contentor de blob do Azure Storage em vez de usar a opção de partilha de rede. Armazene os ficheiros de backup como blobs de página, pois os blobs de bloco só são suportados no SQL Server 2016 e versões posteriores.
Deve garantir que a Extensão do Agente IaaS do SQL Server na VM Azure de destino está em modo Completo em vez de modo Leve.
A migração para uma VM SQL Azure usando DMS utiliza internamente o agente SQL Server IaaS. A Extensão do Agente IaaS do SQL Server apenas suporta a gestão de uma instância de servidor padrão ou de uma única instância nomeada.
Pode migrar um máximo de 100 bases de dados para a mesma VM Azure que o destino usando uma ou mais migrações simultaneamente. Além disso, assim que uma migração com 100 bases de dados terminar, espere pelo menos 30 minutos antes de iniciar uma nova migração para o mesmo SQL Server numa VM Azure como destino. Além disso, cada operação de migração (iniciar migração, substituição) para cada banco de dados leva alguns minutos sequencialmente. Por exemplo, para migrar 100 bases de dados, pode demorar aproximadamente 200 (2 x 100) minutos a criar as filas de migração e aproximadamente 100 (1 x 100) minutos a transferir todas as 100 bases de dados (excluindo o tempo de backup e restauro). Portanto, a migração torna-se mais lenta à medida que o número de bancos de dados aumenta. Deves agendar uma janela de migração mais longa com antecedência baseada em testes rigorosos de migração, ou particionar grandes quantidades de bases de dados em lotes ao migrá-las para SQL Server numa VM Azure.
Para além de configurar a Rede/Firewall da sua conta Azure Storage para permitir que a sua VM aceda a ficheiros de backup, também precisa de configurar a Rede/Firewall do seu SQL Server numa VM Azure para permitir a ligação de saída à sua conta de armazenamento.
Tens de manter a VM Azure alvo ligada enquanto a migração do SQL Server está em curso. Além disso, ao criar uma nova migração, faça failover ou cancele a migração.
Possíveis mensagens de erro
Falha de login para o usuário 'NT Service\SQLIaaSExtensionQuery
Erro: Login failed for user 'NT Service\SQLIaaSExtensionQuery
Motivo: a instância do SQL Server está no modo de usuário único. Uma possível razão é que a VM SQL Server de destino está em modo de atualização.
Solução: Esperar que a VM SQL Server de destino saia do modo de atualização e iniciar a migração novamente.
Falha ao criar tarefa de restauração
Erro: Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists.
Solução: Liga-te à VM SQL Server de destino e apaga o XXX.mdf ficheiro. Em seguida, inicie a migração novamente.
Conteúdo relacionado
- Migrar um banco de dados do SQL Server para o SQL Server em uma máquina virtual
- O que é o SQL Server nas Máquinas Virtuais do Windows do Azure?
- Conectar-se a uma máquina virtual do SQL Server no Azure
- Problemas conhecidos, limitações e solução de problemas
- Migrar um banco de dados para o SQL Server em Máquinas Virtuais do Azure usando o comando T-SQL RESTORE