Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Este artigo ajuda-o a preparar o seu ambiente para uma migração de VMs SQL Server da sua instância SQL Server habilitada por Azure Arc para SQL Server em Azure VMs no portal Azure.
Observação
- Migrar para o SQL Server em VMs do Azure através do portal Azure está atualmente em versão de avaliação.
- Pode fornecer feedback sobre a sua experiência de migração diretamente ao grupo de produtos.
Pré-requisitos
Para migrar as suas bases de dados SQL Server para SQL Server em VMs Azure através do portal Azure, precisa dos seguintes pré-requisitos:
- Uma subscrição ativa do Azure. Se não tiveres, cria uma conta gratuita.
- Uma instância de SQL Server ativada por Azure Arc com a versão mais recente da extensão do Azure para o SQL Server. Para atualizar a sua extensão, veja Atualizar a extensão.
- Pode optar por usar um SQL Server existente na Azure VM, ou pode provisionar uma VM SQL Server de destino durante o processo de migração. Se optar por usar uma VM SQL Server existente, ela deve estar registada com a extensão SQL IaaS Agent.
Versões suportadas para SQL Server
A migração de VMs do SQL Server funciona com todas as edições do SQL Server no Windows e Linux.
A tabela seguinte lista as versões mínimas suportadas do SQL Server para migração:
| Versão do SQL Server | Atualização mínima obrigatória de manutenção |
|---|---|
| SQL Server 2025 (17.x) | SQL Server 2025 RTM (17.0.1000.7) |
| SQL Server 2022 (16.x) | SQL Server 2022 RTM (16.0.1000.6) |
| SQL Server 2019 (15.x) | SQL Server 2019 RTM (15.0.2000.5) |
| SQL Server 2017 (14.x) | SQL Server 2017 RTM (14.0.1000.169) |
| SQL Server 2016 (13.x) | SQL Server 2016 RTM (13.0.1400.361) |
| SQL Server 2014 (12.x) | SQL Server 2014 RTM (12.0.2000.8) |
| SQL Server 2012 (11.x) | SQL Server 2012 RTM (11.0.2100.60) |
Permissões
Esta secção descreve as permissões de que precisa para migrar as suas bases de dados SQL Server para SQL Server em VMs Azure através do portal Azure.
Na instância do SQL Server de origem, precisa das seguintes permissões:
- Se ativar o privilégio mínimo, as permissões necessárias, como administrador de sistemas , são concedidas conforme necessário durante o processo de migração da base de dados.
- Se não conseguires usar o privilégio mínimo, precisas de permissões sysadmin na instância SQL Server fonte.
Precisa do papel Virtual Machine Contributor na VM Azure destino para realizar a migração.
Criar uma conta de armazenamento
Usas uma conta Armazenamento de Blobs do Azure como armazenamento intermédio para ficheiros de backup entre a tua instância SQL Server e o teu SQL Server na VM Azure. A conta de armazenamento tem de estar na mesma subscrição e região do Azure que o seu SQL Server no destino da VM Azure.
Para criar uma nova conta de armazenamento e um contêiner de blob dentro da conta de armazenamento:
-
Crie uma conta de armazenamento:
- Procure por Storage accounts no portal Azure e selecione Create.
- No separador Básicos , selecione a sua subscrição e grupo de recursos. A região deve ser a mesma do teu SQL Server no destino da VM do Azure.
- Deixe o tipo de armazenamento preferencial em branco.
- Utilize as definições padrão para as abas restantes e selecione Rever + criar.
- Depois que a validação for aprovada, selecione Criar.
-
Crie um contêiner de blob dentro da conta de armazenamento.
- Vai à tua nova conta de armazenamento no portal Azure.
- Em Armazenamento de dados, selecione Contêineres.
- Use Adicionar recipiente para abrir o novo painel de contentores .
- Introduza um nome para o seu contentor, deixe as opções nos valores predefinidos e selecione Criar para criar o seu contentor.
- (Opcional) Se o seu Armazenamento do Azure estiver atrás de um firewall, o seu armazenamento Blob Azure requer configuração adicional depois de a sua VM SQL Server ser provisionada. Configurar a delegação para a sub-rede com o nome VM.
Concede permissões a Armazenamento de Blobs do Azure
A migração de VMs do SQL Server no Azure Arc utiliza uma identidade gerida para autenticar no Armazenamento de Blobs do Azure.
Precisa de conceder as seguintes permissões:
- Conceda ao utilizador acesso à conta de armazenamento onde planeia guardar backups durante o processo de migração.
- Conceda ao utilizador acesso ao grupo de recursos que contém a conta de armazenamento.
- Conceda acesso de identidade gerida à conta de armazenamento depois de a sua SQL Server VM estar provisionada.
Conceder acesso ao utilizador à conta de armazenamento
Para aceder às cópias de segurança da base de dados durante o processo de migração, atribua ao utilizador que inicia sessão no portal do Azure e realiza a migração ao papel Storage Blob Data Reader para a conta de armazenamento que contém as cópias de segurança.
Para atribuir o papel, siga estes passos:
No portal Azure, vai ao grupo de recursos que contém a tua conta de armazenamento.
Selecione Controle de acesso (IAM) no menu de recursos.
Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de funções .
Procure e selecione a função Leitor de Dados de Blob de Armazenamento. Em seguida, selecione Avançar.
Use + Selecionar membros para abrir o painel Selecionar membros e procure a conta de utilizador da pessoa que realiza a migração. Se várias pessoas estiverem a migrar dados, conceda este acesso a todos esses utilizadores. Selecione a conta de utilizador e depois use Select para guardar a sua seleção. Verifique a opção de atribuir acesso a Utilizador, grupo ou principal de serviço.
Selecione Rever + atribuir para ir ao separador Rever + atribuir , e depois selecione Rever + atribuir novamente para completar a atribuição de funções.
Conceder acesso aos utilizadores ao grupo de recursos
Para aceder às cópias de segurança da base de dados durante o processo de migração, o utilizador que inicia sessão no portal Azure e realiza a migração precisa de ser atribuído ao papel Reader no grupo de recursos que contém a conta de armazenamento.
Para atribuir o papel, siga estes passos:
No portal Azure, vai ao grupo de recursos que contém a tua conta de armazenamento.
Selecione Controle de acesso (IAM) no menu de recursos.
Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de funções .
Procure e selecione a função Leitor . Em seguida, selecione Avançar.
Use + Selecionar membros para abrir o painel Selecionar membros e procure a conta de utilizador da pessoa que realiza a migração. Se várias pessoas estiverem a migrar dados, conceda este acesso a todos esses utilizadores. Selecione a conta de utilizador e depois use Select para guardar a sua seleção. Verifique a opção de atribuir acesso a Utilizador, grupo ou principal de serviço e depois use Próximo para continuar.
No separador Tipo de Atribuição , defina o tipo de Atribuição para Ativo e a duração da Atribuição para Permanente:
Selecione Rever + atribuir para ir ao separador Rever + atribuir , e depois selecione Rever + atribuir novamente para completar a atribuição de funções.
Conceder acesso de identidade gerida à conta de armazenamento
Depois de a sua VM SQL Server ser provisionada, precisa de atribuir à identidade gerida da sua VM SQL Server o papel Storage Blob Data Reader para que possa aceder à sua conta Armazenamento de Blobs do Azure durante o processo de migração.
Primeiro, deve determinar que tipo de identidade gerida a sua VM SQL Server utiliza. Para o fazer, siga estes passos:
- Vá ao seu recurso máquinas virtuais no portal do Azure.
-
Em Segurança, selecione Identidade para abrir o painel de Identidade. Escolha entre usar a identidade atribuída pelo Sistema ou uma identidade atribuída pelo Utilizador :
- No separador Atribuído ao Sistema , podes usar a opção de Status para ativar a identidade atribuída ao sistema, caso ainda não esteja ativada. Se a identidade atribuída ao sistema estiver ativada, pode então selecionar Azure atribuições de papéis ir à página Azure atribuições de papéis e depois usar +Adicionar atribuição de função (Pré-visualização) para conceder permissões Storage Blob Data Reader à identidade atribuída ao sistema da SQL Server VM selecionando Storage como Scope e depois selecionando o seu recurso.
- No separador User assigned, pode ver a lista de identidades atribuídas pelo utilizador que estão associadas à SQL Server VM. Se quiser adicionar uma nova identidade atribuída pelo utilizador, selecione + Adicionar identidade atribuída pelo utilizador e depois selecione uma identidade atribuída pelo utilizador existente da sua subscrição para a associar à SQL Server VM. Anota o nome da identidade atribuída pelo utilizador que queres usar para autenticação no Armazenamento de Blobs do Azure, pois vais precisar dela para os próximos passos.
Para conceder acesso à identidade gerida atribuída pelo utilizador à conta de armazenamento, siga estes passos:
- Vai à conta Armazenamento de Blobs do Azure no portal Azure que pretendes usar para a migração.
- Selecione Controle de acesso (IAM) no menu de recursos.
- Use + Adicionar para selecionar Adicionar atribuição de função e abra o painel Adicionar atribuição de funções .
- Procure e selecione a função Leitor de Dados de Blob de Armazenamento. Em seguida, selecione Avançar.
- No Atribuir acesso a, marque a opção Identidade Gerida.
- Use membros selecionados para abrir o painel de membros selecionados .
- Em Identidade Gerida, selecione Identidade gerida atribuída pelo Utilizador.
- Procura o nome Primary identity que referiste anteriormente na página Identity da tua VMSQL Server VM e seleciona-o.
- Use Select para guardar a sua seleção.
- Selecione Rever + atribuir para ir ao separador Rever + atribuir , e depois selecione Rever + atribuir novamente para completar a atribuição de funções.
Faça upload de backups para a sua conta Armazenamento de Blobs
Quando o seu contentor de blob estiver pronto e confirmar que a sua VM do SQL Server pode aceder ao contentor, pode começar a carregar os seus backups para a sua conta do Armazenamento de Blobs do Azure. Quando todas as suas cópias de segurança forem carregadas para a sua conta de armazenamento, está pronto para avançar com a migração.
Para carregar os seus backups no Azure:
- Faz backups numa instância SQL Server.
- Copia os teus backups para a tua conta Armazenamento de Blobs.
Considere as seguintes práticas recomendadas:
- Efetue backups com as opções
COMPRESSIONeCHECKSUMpara reduzir o tamanho dos ficheiros de backup e evitar a migração de uma base de dados corrompida. - Faça backups em lotes mais pequenos.
- Utilize linhas de upload paralelas.
- Faça o último ficheiro de backup o mais pequeno possível.
- Para migrar múltiplas bases de dados usando o mesmo contentor do Armazenamento de Blobs do Azure, coloque todos os ficheiros de backup de uma base de dados individual numa pasta separada dentro do contentor. Use a estrutura de arquivo simples para cada pasta de banco de dados. Não há suporte para aninhamento de pastas dentro de pastas de banco de dados.
Fazer backups numa instância do SQL Server
Os passos desta secção mostram-lhe como fazer backup localmente, mas também é possível fazer backup diretamente para URL.
Defina os bancos de dados que você deseja migrar para o modelo de recuperação completa para permitir backups de log.
-- 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 ainda não tiver backups existentes, para fazer manualmente backups completos, diferenciais e de registo da sua base de dados para armazenamento local, use os seguintes scripts T-SQL de exemplo.
CHECKSUM não é necessá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 faz 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
Copie cópias de segurança para a sua conta Armazenamento de Blobs
Depois de os seus backups estarem prontos e quiser começar a migrar bases de dados para uma VM SQL Server, use as seguintes abordagens para copiar backups existentes para a sua conta Armazenamento de Blobs:
- Descarregue e instale AzCopy.
- Descarregue e instale Explorador de Armazenamento do Azure.
- Use Explorador de Armazenamento no portal do Azure.
Observação
Para migrar múltiplas bases de dados usando o mesmo contentor do Armazenamento de Blobs do Azure, coloque todos os ficheiros de backup de uma base de dados individual numa pasta separada dentro do contentor. Use a estrutura de arquivo simples para cada pasta de banco de dados. Não há suporte para aninhamento de pastas dentro de pastas de banco de dados.
Valide o acesso ao armazenamento da sua VM SQL Server
Valide que a sua VM SQL Server pode aceder à sua conta Armazenamento de Blobs.
Primeiro, carregue qualquer backup da base de dados, como full_0_0.bak, para o seu contentor de Armazenamento de Blobs do Azure.
De seguida, ligue-se à sua VM SQL Server e execute uma consulta de teste de exemplo para determinar se a sua VM SQL Server consegue aceder ao backup no contentor.
Se estiver a usar um token SAS para autenticar na sua conta de armazenamento, então substitua o <sastoken> pelo seu token SAS e execute a seguinte consulta na sua SQL Server VM:
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';
Registar VMs do SQL Server com a extensão SQL IaaS Agent
Se a sua VM SQL Server destino já existe, deve regista-la com a extensão SQL IaaS Agent antes de a poder selecionar como destino de migração no portal Azure. Se a sua VM SQL Server de destino ainda não existir, pode provisionar uma nova durante o processo de migração, e ela será automaticamente registada com a extensão SQL IaaS Agent.
Limitações
Considere as seguintes limitações ao migrar as suas bases de dados SQL Server para SQL Server em VMs Azure através do portal Azure:
- 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 migrar várias bases de dados usando o mesmo contentor do Armazenamento de Blobs do Azure, deve colocar ficheiros de backup para diferentes bases de dados em pastas separadas dentro do contentor.
- Não podes sobrescrever bases de dados existentes no teu SQL Server de destino numa VM do Azure usando DMS.
- A migração do SQL Server 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:
- Tarefas do SQL Server Agent
- Credenciais
- Pacotes de 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.
- 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.
- O registo com a extensão SQL IaaS Agent é obrigatório para a migração. A extensão suporta apenas uma instância padrão ou 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, quando 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 do 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 o SQL Server numa VM Azure.
- Para além de configurar a Rede/Firewall da sua conta Armazenamento do Azure 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.
- Precisas de manter a VM do 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 quaisquer migrações que estejam em curso.