Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Applies to:SQL Server
Este artigo ajuda você a preparar seu ambiente para uma migração de VM SQL Server da instância de SQL Server habilitada pelo Azure Arc para SQL Server em VMs Azure no portal Azure.
Observação
- A migração para SQL Server em VMs do Azure por meio do portal do Azure está atualmente em pré-visualização.
- Você pode fornecer comentários sobre sua experiência de migração diretamente para o grupo de produtos.
Pré-requisitos
Para migrar seus bancos de dados SQL Server para SQL Server em VMs Azure por meio do portal Azure, você precisa dos seguintes pré-requisitos:
- Uma assinatura de Azure ativa. Se você não tiver uma, crie uma conta gratuita.
- Uma instância do SQL Server habilitada pelo Azure Arc com a última versão da extensão do Azure para SQL Server. Para atualizar sua extensão, consulte Atualizar a extensão.
- Você pode optar por usar um SQL Server existente em Azure VM ou provisionar um SQL Server VM de destino durante o processo de migração. Se você optar por usar uma VM SQL Server existente, deverá estar registrada com a extensão do Agente IaaS do SQL.
Versões de SQL Server com suporte
A migração de VM do SQL Server funciona com todas as edições do SQL Server em Windows e Linux.
A tabela a seguir lista as versões mínimas de SQL Server com suporte para migração:
| SQL Server versão | Atualização mínima de manutenção necessária |
|---|---|
| SQL Server 2025 (17.x) | SQL Server RTM 2025 (17.0.1000.7) |
| SQL Server 2022 (16.x) | SQL Server RTM 2022 (16.0.1000.6) |
| SQL Server 2019 (15.x) | SQL Server RTM 2019 (15.0.2000.5) |
| SQL Server 2017 (14.x) | SQL Server RTM 2017 (14.0.1000.169) |
| SQL Server 2016 (13.x) | SQL Server RTM 2016 (13.0.1400.361) |
| SQL Server 2014 (12.x) | SQL Server RTM 2014 (12.0.2000.8) |
| SQL Server 2012 (11.x) | SQL Server RTM 2012 (11.0.2100.60) |
Permissões
Esta seção descreve as permissões necessárias para migrar seus bancos de dados SQL Server para SQL Server em VMs Azure por meio do portal Azure.
Na instância de SQL Server de origem, você precisa das seguintes permissões:
- Se você habilitar privilégios mínimos, as permissões necessárias, como sysadmin , serão concedidas conforme necessário durante o processo de migração de banco de dados.
- Se você não puder usar privilégios mínimos, precisará de permissões sysadmin na instância de SQL Server de origem.
Você precisa da função Colaborador do ComputadorVirtual na VM de Azure de destino para executar a migração.
Criar uma conta de armazenamento
Você usa uma conta Armazenamento de Blobs do Azure como armazenamento intermediário para arquivos de backup entre sua instância de SQL Server e sua SQL Server na VM Azure. A conta de armazenamento precisa estar na mesma assinatura do Azure e região que o SQL Server de destino na VM do Azure.
Para criar uma nova conta de armazenamento e um contêiner de blobs dentro da conta de armazenamento:
-
Crie uma conta de armazenamento:
- Pesquise contas Storage no portal Azure e selecione Create.
- Na guia Noções básicas , selecione sua assinatura e grupo de recursos. A região deve ser a mesma que o SQL Server de destino em sua máquina virtual do Azure.
- Deixe o tipo de armazenamento preferencial em branco.
- Use as configurações padrão para o restante das guias e selecione Examinar + criar.
- Depois da aprovação na validação, selecione Criar.
-
Crie um contêiner de blobs na conta de armazenamento.
- Acesse sua nova conta de armazenamento no portal do Azure.
- Em Armazenamento de dados, selecione Contêineres.
- Use Adicionar contêiner para abrir o painel Novo contêiner.
- Insira um nome para o contêiner, deixe as opções em seus padrões e selecione Criar para criar seu contêiner.
- (Opcional) Se o Armazenamento do Azure estiver por trás de um firewall, o Azure Blob Storage exigirá configuração adicional após o provisionamento da VM SQL Server. Configure a delegação para a sub-rede com o nome VM.
Conceder permissões para Armazenamento de Blobs do Azure
Migração de VM do SQL Server no Azure Arc usa uma identidade gerenciada para autenticar-se no Armazenamento de Blobs do Azure.
Você precisa conceder as seguintes permissões:
- Conceda ao usuário acesso à conta de armazenamento em que você planeja armazenar backups durante o processo de migração.
- Conceda ao usuário acesso ao grupo de recursos que contém a conta de armazenamento.
- Conceda acesso de identidade gerenciada à conta de armazenamento após a provisionamento da VM do SQL Server.
Conceder acesso do usuário à conta de armazenamento
Para acessar backups de banco de dados durante o processo de migração, atribua o usuário que entra no portal do Azure e executa a migração para a função Storage Blob Data Reader para a conta de armazenamento que contém os backups.
Para atribuir a função, siga estas etapas:
No portal Azure, vá para o grupo de recursos que contém sua conta de armazenamento.
Selecione o Controle de acesso (IAM) a partir do menu de recursos.
Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de função .
Pesquise e selecione a função Leitor de Dados do Blob de Armazenamento. Em seguida, selecione Avançar.
Use + Selecionar membros para abrir o painel Selecionar membros e pesquise a conta de usuário da pessoa que está executando a migração. Se várias pessoas estiverem migrando dados, conceda a todos esses usuários esse acesso. Selecione a conta de usuário e, em seguida, use Selecionar para salvar sua seleção. Verifique a opção para atribuir acesso a Usuário, grupo ou entidade de serviço.
Selecione Examinar + atribuir para ir para a guia Examinar + atribuir e, em seguida, selecione Examinar + atribuir novamente para concluir a atribuição de função.
Conceder acesso do usuário ao grupo de recursos
Para acessar backups de banco de dados durante o processo de migração, o usuário que entrar no portal do Azure e executar a migração precisa receber a função Reader no grupo de recursos que contém a conta de armazenamento.
Para atribuir a função, siga estas etapas:
No portal Azure, vá para o grupo de recursos que contém sua conta de armazenamento.
Selecione o Controle de acesso (IAM) a partir do menu de recursos.
Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de função .
Pesquise e selecione a função Leitor . Em seguida, selecione Avançar.
Use + Selecionar membros para abrir o painel Selecionar membros e pesquise a conta de usuário da pessoa que está executando a migração. Se várias pessoas estiverem migrando dados, conceda a todos esses usuários esse acesso. Selecione a conta de usuário e, em seguida, use Selecionar para salvar sua seleção. Verifique a opção para atribuir acesso a Usuário, grupo ou entidade de serviço e, em seguida, use o Next para continuar.
Na guia Tipo de atribuição , defina o tipo atribuição como Ativo e a duração da Atribuição como Permanente:
Selecione Examinar + atribuir para ir para a guia Examinar + atribuir e, em seguida, selecione Examinar + atribuir novamente para concluir a atribuição de função.
Conceder acesso de identidade gerenciada à conta de armazenamento
Depois que sua VM SQL Server for provisionada, você precisará atribuir a identidade gerenciada da VM SQL Server a função Storage Blob Data Reader para que ela possa acessar sua conta Armazenamento de Blobs do Azure durante o processo de migração.
Primeiro, você deve determinar que tipo de identidade gerenciada sua VM SQL Server usa. Para fazer isso, siga estas etapas:
- Acesse o recurso Virtual machines no portal Azure.
- Em Segurança, selecione Identidade para abrir o painel Identidade . Escolha entre usar a identidade atribuída pelo sistema ou uma identidade atribuída pelo usuário :
- Na guia Atribuída pelo sistema , você pode usar a alternância Status para habilitar a identidade atribuída pelo sistema se ela ainda não estiver habilitada. Se a identidade atribuída pelo sistema estiver habilitada, você pode, em seguida, selecionar atribuições de função Azure para acessar a página atribuições de função Azure e, em seguida, usar +Adicionar atribuição de função (versão prévia) para conceder permissões de leitor de dados de blob de armazenamento à identidade atribuída pelo sistema do SQL Server VM selecionando Armazenamento como o Escopo e então selecionar seu recurso.
- Na guia Usuário atribuído, você pode ver a lista de identidades atribuídas pelo usuário que estão anexadas à VM do SQL Server. Se você quiser adicionar uma nova identidade atribuída pelo usuário, selecione + Adicionar identidade atribuída ao usuário e selecione uma identidade atribuída pelo usuário existente de sua assinatura para anexá-la à VM SQL Server. Anote o nome da identidade atribuída pelo usuário que você deseja usar para autenticação Armazenamento de Blobs do Azure, pois você precisará dela para as próximas etapas.
Para conceder acesso à identidade gerenciada atribuída pelo usuário à conta de armazenamento, siga estas etapas:
- Vá para a conta Armazenamento de Blobs do Azure no portal de Azure que você pretende usar para a migração.
- Selecione o Controle de acesso (IAM) a partir do menu de recursos.
- Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de função .
- Pesquise e selecione a função Leitor de Dados do Blob de Armazenamento. Em seguida, selecione Avançar.
- Em Atribuir acesso para verificar a opção identidade gerenciada .
- Use Selecionar membros para abrir o painel Selecionar membros.
- Em Identidade Gerenciada, selecione A identidade gerenciada atribuída pelo usuário.
- Pesquise o nome Primary identity que você anotou anteriormente na página Identity da VM SQL Server e selecione-a.
- Use Select para salvar sua seleção.
- Selecione Examinar + atribuir para ir para a guia Examinar + atribuir e, em seguida, selecione Examinar + atribuir novamente para concluir a atribuição de função.
Carregar backups em sua conta do Armazenamento de Blobs
Quando o contêiner de blob estiver pronto e você confirmar que sua VM SQL Server pode acessar o contêiner, você pode começar a carregar seus backups em sua conta Armazenamento de Blobs do Azure. Quando todos os backups são carregados em sua conta de armazenamento, você está pronto para prosseguir com a migração.
Para carregar seus backups no Azure:
- Fazer backups em uma instância SQL Server.
- Copia seus backups para sua conta Armazenamento de Blobs.
Considere as melhores práticas a seguir:
- Faça backups com
COMPRESSIONeCHECKSUMopções para reduzir o tamanho dos arquivos de backup e impedir a migração de um banco de dados corrompido. - Faça backups em lotes menores.
- Use threads de carregamento paralelas.
- Torne o último arquivo de backup o menor possível.
- Para migrar vários bancos de dados usando o mesmo contêiner de Armazenamento de Blobs do Azure, coloque todos os arquivos de backup de um banco de dados individual em uma pasta separada dentro do contêiner. Use a estrutura de arquivo simples para cada pasta de banco de dados. Não há suporte para as pastas aninhadas dentro de pastas de banco de dados.
Fazer backups em uma instância de SQL Server
As etapas nesta seção mostram como fazer backup localmente, mas também é possível fazer backup diretamente na URL.
Configure os bancos de dados que você deseja migrar para o modo de recuperação completa para permitir backups de logs.
-- To permit log backups, before the full database backup, modify the database to use the full recovery
USE master;
ALTER DATABASE SampleDB
SET RECOVERY FULL;
GO
Se você ainda não tiver backups existentes, para fazer manualmente backups completos, diferenciais e de log do banco de dados para o armazenamento local, use os seguintes scripts T-SQL de exemplo.
CHECKSUM não é obrigatório, mas é recomendado para evitar a migração de um banco de dados corrompido e para tempos de restauração mais rápidos.
O exemplo a seguir usa um backup completo do banco de dados para o disco local:
-- Take full database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_full.bak'
WITH INIT, COMPRESSION, CHECKSUM;
GO
O exemplo a seguir usa um backup diferencial para o disco local:
-- Take differential database backup to local disk
BACKUP DATABASE [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_diff.bak'
WITH DIFFERENTIAL, COMPRESSION, CHECKSUM;
GO
O exemplo a seguir usa um backup de log de transações para o disco local:
-- Take transactional log backup to local disk
BACKUP LOG [SampleDB]
TO DISK = 'C:\BACKUP\SampleDB_log.trn'
WITH COMPRESSION, CHECKSUM;
GO
Copiar backups para sua conta de Armazenamento de Blobs
Depois que os backups estiverem prontos e você quiser começar a migrar bancos de dados para uma VM SQL Server, use as seguintes abordagens para copiar backups existentes para sua conta Armazenamento de Blobs:
- Baixe e instale AzCopy.
- Baixe e instale Gerenciador de Armazenamento do Azure.
- Use Gerenciador de Armazenamento no portal o Azure.
Observação
Para migrar vários bancos de dados usando o mesmo contêiner de Armazenamento de Blobs do Azure, coloque todos os arquivos de backup de um banco de dados individual em uma pasta separada dentro do contêiner. Use a estrutura de arquivo simples para cada pasta de banco de dados. Não há suporte para as pastas aninhadas dentro de pastas de banco de dados.
Validar o acesso ao armazenamento de SQL Server VM
Valide se sua VM SQL Server pode acessar sua conta Armazenamento de Blobs.
Primeiro, carregue qualquer backup de banco de dados, como full_0_0.bak, no contêiner Armazenamento de Blobs do Azure.
Em seguida, conecte-se à VM SQL Server e execute uma consulta de teste de exemplo para determinar se a VM SQL Server é capaz de acessar o backup no contêiner.
Se você estiver usando um token SAS para autenticar em sua conta de armazenamento, substitua o <sastoken> pelo token SAS e execute a seguinte consulta em sua VM SQL Server:
CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/databases]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<sastoken>';
RESTORE HEADERONLY
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/full_0_0.bak';
Registrar máquinas virtuais do SQL Server com a extensão do agente IaaS do SQL
Se o SQL Server VM de destino já existir, você deverá registro-lo com a extensão do Agente IaaS do SQL antes de selecioná-la como um destino de migração no portal Azure. Se o SQL Server VM de destino ainda não existir, você poderá provisionar um novo durante o processo de migração e ele será registrado automaticamente com a extensão do Agente IaaS do SQL.
Limitações
Considere as seguintes limitações ao migrar seus bancos de dados SQL Server para SQL Server em VMs Azure por meio do portal Azure:
- Se você migrar um banco de dados individual, deverá colocar os backups de banco de dados em uma estrutura de arquivo simples dentro de uma pasta de banco de dados (incluindo a pasta raiz do contêiner). Não é possível aninhar essas pastas, pois não há suporte para aninhamento.
- Se você migrar vários bancos de dados usando o mesmo contêiner de Armazenamento de Blobs do Azure, deverá colocar arquivos de backup para bancos de dados diferentes em pastas separadas dentro do contêiner.
- Você não pode substituir bancos de dados existentes em seu SQL Server de destino em uma VM Azure usando DMS.
- A migração do SQL Server não dá suporte à configuração de alta disponibilidade e recuperação de desastres no destino para se alinhar à topologia de origem.
- Não há suporte para os seguintes objetos do servidor:
- tarefas do SQL Server Agent
- Credenciais
- pacotes do SSIS (SQL Server Integration Services)
- Auditoria de servidor
- Você não pode usar um runtime de integração auto-hospedada existente criado a partir de Azure Data Factory (ADF) para migrações de banco de dados com DMS.
- VMs com versões de destino de SQL Server 2008 ou mais antigas não têm suporte ao migrar para SQL Server em uma VM Azure.
- O registro com a extensão do Agente IaaS do SQL é necessário para a migração. A extensão dá suporte apenas a uma instância padrão ou uma única instância nomeada.
- Você pode migrar no máximo 100 bancos de dados para o mesmo Azure VM que o destino usando uma ou mais migrações simultaneamente. Além disso, depois que uma migração com 100 bancos de dados for concluída, aguarde pelo menos 30 minutos antes de iniciar uma nova migração para o mesmo SQL Server em uma VM Azure que o destino. Além disso, cada operação de migração (início da migração, substituição) para cada banco de dados levará alguns minutos sequencialmente. Por exemplo, para migrar 100 bancos de dados, pode levar aproximadamente 200 (2 x 100) minutos para criar as filas de migração e aproximadamente 100 (1 x 100) minutos para recortar todos os 100 bancos de dados (excluindo o tempo de backup e restauração). Portanto, a migração se torna mais lenta à medida que o número de bancos de dados aumentar. Você deve agendar uma janela de migração mais longa com antecedência com base em testes de migração rigorosos ou particionar um grande número de bancos de dados em lotes ao migrar para SQL Server em uma VM Azure.
- Além de configurar a Rede/Firewall de sua conta de Armazenamento do Azure para permitir que sua VM acesse arquivos de backup, você também precisa configurar a Rede/Firewall de sua SQL Server em uma VM Azure para permitir a conexão de saída com sua conta de armazenamento.
- Você precisa manter o destino Azure VM ativado enquanto a migração de SQL Server está em andamento. Além disso, ao criar uma nova migração, realize o failover ou cancele as migrações que estão em andamento.