Migrar um banco de dados do SQL Server para o SQL Server em uma VM do AzureMigrate a SQL Server database to SQL Server in an Azure VM

Existem vários métodos para migrar um banco de dados de usuário do SQL Server local para o SQL Server em uma VM do Azure.There are a number of methods to migrate an on-premises SQL Server user database to SQL Server in an Azure VM. Este artigo discute brevemente diversos métodos e recomenda o melhor método para vários cenários.This article will briefly discuss various methods and recommend the best method for various scenarios.

Observação

O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Resource Manager e clássico.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. Este artigo aborda o uso de ambos os modelos, mas a Microsoft recomenda as mais novas implantações usem o modelo do Gerenciador de Recursos.This article covers using both models, but Microsoft recommends that most new deployments use the Resource Manager model.

Observação

SQL Server 2008 e SQL Server 2008 R2 estão se aproximando os final de seu ciclo de vida de suporte para instâncias locais.SQL Server 2008 and SQL Server 2008 R2 are approaching the end of their support life cycle for on-premises instances. Para estender o suporte, migrar sua instância do SQL Server para uma VM do Azure ou comprar atualizações de segurança estendida para mantê-lo no local.To extend support, you can either migrate your SQL Server instance to an Azure VM, or buy Extended Security Updates to keep it on-premises. Para obter mais informações, consulte estender o suporte para SQL Server 2008 e 2008 R2 com o AzureFor more information, see Extend support for SQL Server 2008 and 2008 R2 with Azure

Quais são os principais métodos de migração?What are the primary migration methods?

Os principais métodos de migração são:The primary migration methods are:

  • Executar backup local usando a compactação e copiar manualmente o arquivo de backup para a máquina virtual do AzurePerform on-premises backup using compression and manually copy the backup file into the Azure virtual machine
  • Executar um backup para URL e restaurar na máquina virtual do Azure desde a URLPerform a backup to URL and restore into the Azure virtual machine from the URL
  • Desanexar e copiar os arquivos de log e de dados para o armazenamento de blobs do Azure e, em seguida, anexar ao SQL Server em uma VM do Azure desde a URLDetach and then copy the data and log files to Azure blob storage and then attach to SQL Server in Azure VM from URL
  • Converter a máquina física local em VHD do Hyper-V, carregar no armazenamento de Blob do Azure e, em seguida, implantar como nova máquina virtual usando o VHD carregadoConvert on-premises physical machine to Hyper-V VHD, upload to Azure Blob storage, and then deploy as new VM using uploaded VHD
  • Remeter o disco rígido usando o Serviço de Importação/Exportação do WindowsShip hard drive using Windows Import/Export Service
  • Caso você tenha uma implantação local do Grupo de Disponibilidade AlwaysOn, use o Assistente para Adicionar uma Réplica do Azure para criar uma réplica no Azure e executar o failover, apontando os usuários para a instância do banco de dados do AzureIf you have an AlwaysOn Availability Group deployment on-premises, use the Add Azure Replica Wizard to create a replica in Azure and then failover, pointing users to the Azure database instance
  • Use a replicação transacional do SQL Server para configurar a instância do SQL Server do Azure como um assinante e, em seguida, desabilite a replicação, apontando os usuários para a instância de banco de dados do AzureUse SQL Server transactional replication to configure the Azure SQL Server instance as a subscriber and then disable replication, pointing users to the Azure database instance

Dica

Você também pode usar essas mesmas técnicas para mover bancos de dados entre VMs do SQL Server no Azure.You can also use these same techniques to move databases between SQL Server VMs in Azure. Por exemplo, não há suporte para atualizar uma VM da imagem da galeria do SQL Server de uma versão/edição para outra.For example, there is no supported way to upgrade a SQL Server gallery-image VM from one version/edition to another. Nesse caso, você deve criar uma nova VM do SQL Server com a nova versão/edição e, em seguida, usar uma das técnicas de migração neste artigo para mover seus bancos de dados.In this case, you should create a new SQL Server VM with the new version/edition, and then use one of the migration techniques in this article to move your databases.

Escolhendo o método de migraçãoChoosing your migration method

Para obter um desempenho de transferência de dados ideal, migre os arquivos de banco de dados na VM do Azure usando um arquivo de backup compactado.For optimum data transfer performance, migrate the database files into the Azure VM using a compressed backup file.

Para minimizar o tempo de inatividade durante o processo de migração do banco de dados, use a opção AlwaysOn ou a opção de replicação transacional.To minimize downtime during the database migration process, use either the AlwaysOn option or the transactional replication option.

Se não for possível usar os métodos acima, migre seu banco de dados manualmente.If it is not possible to use the above methods, manually migrate your database. Usando esse método, você geralmente começa com um backup do banco de dados seguido por uma cópia do banco de dados de backup no Azure e, em seguida, executa uma restauração de banco de dados.Using this method, you will generally start with a database backup followed by a copy of the database backup into Azure and then perform a database restore. Você também pode copiar os próprios arquivos do banco de dados para o Azure e anexá-los.You can also copy the database files themselves into Azure and then attach them. Existem vários métodos pelos quais você pode realizar esse processo manual de migrar um banco de dados para uma VM do Azure.There are several methods by which you can accomplish this manual process of migrating a database into an Azure VM.

Observação

Quando você atualizar para o SQL Server 2014 ou para o SQL Server 2016 de versões anteriores do SQL Server, deverá considerar se as alterações são necessárias.When you upgrade to SQL Server 2014 or SQL Server 2016 from older versions of SQL Server, you should consider whether changes are needed. É recomendável resolver todas as dependências nos recursos sem suporte da nova versão do SQL Server como parte do seu projeto de migração.We recommend that you address all dependencies on features not supported by the new version of SQL Server as part of your migration project. Para saber mais sobre os cenários e as edições com suporte, consulte Atualizar para o SQL Server.For more information on the supported editions and scenarios, see Upgrade to SQL Server.

A tabela a seguir lista os principais métodos de migração e discute quando o uso de cada método é mais apropriado.The following table lists each of the primary migration methods and discusses when the use of each method is most appropriate.

MétodoMethod Versão do banco de dados de origemSource database version Versão do banco de dados de destinoDestination database version Restrição de tamanho do backup do banco de dados de origemSource database backup size constraint ObservaçõesNotes
Execute o backup local usando a compactação e copie manualmente o arquivo de backup para a máquina virtual do AzurePerform on-premises backup using compression and manually copy the backup file into the Azure virtual machine SQL Server 2005 ou posteriorSQL Server 2005 or greater SQL Server 2005 ou posteriorSQL Server 2005 or greater Limite de armazenamento da VM do AzureAzure VM storage limit Essa é uma técnica muito simples e bem testada para mover bancos de dados entre máquinas.This is a very simple and well-tested technique for moving databases across machines.
Execute um backup para URL e restaure na máquina virtual do Azure desde a URLPerform a backup to URL and restore into the Azure virtual machine from the URL SQL Server 2012 SP1 CU2 ou posteriorSQL Server 2012 SP1 CU2 or greater SQL Server 2012 SP1 CU2 ou posteriorSQL Server 2012 SP1 CU2 or greater < 12,8 TB para SQL Server 2016, caso contrário, < 1 TB< 12.8 TB for SQL Server 2016, otherwise < 1 TB Este método é somente outra forma de mover o arquivo de backup para a VM usando o armazenamento do Azure.This method is just another way to move the backup file to the VM using Azure storage.
Desanexe e copie os arquivos de log e dados para o armazenamento de blob do Azure e anexe à máquina virtual do SQL Server no Azure desde a URLDetach and then copy the data and log files to Azure blob storage and then attach to SQL Server in Azure virtual machine from URL SQL Server 2005 ou posteriorSQL Server 2005 or greater SQL Server 2014 ou posteriorSQL Server 2014 or greater Limite de armazenamento da VM do AzureAzure VM storage limit Use este método quando pretender armazenar esses arquivos usando o serviço de armazenamento de Blob do Azure e anexá-los ao SQL Server em execução em uma VM do Azure, especialmente com bancos de dados muito grandes.Use this method when you plan to store these files using the Azure Blob storage service and attach them to SQL Server running in an Azure VM, particularly with very large databases
Converta a máquina local em VHDs do Hyper-V, carregue no armazenamento de Blob do Azure e, em seguida, implante uma nova máquina virtual usando o VHD carregadoConvert on-premises machine to Hyper-V VHDs, upload to Azure Blob storage, and then deploy a new virtual machine using uploaded VHD SQL Server 2005 ou posteriorSQL Server 2005 or greater SQL Server 2005 ou posteriorSQL Server 2005 or greater Limite de armazenamento da VM do AzureAzure VM storage limit Use quando estiver trazendo sua própria licença do SQL Server ao migrar um banco de dados que você executará em uma versão anterior do SQL Server ou ao migrar bancos de dados do sistema e do usuário como parte da migração de banco de dados dependente de outros bancos de dados do usuário e/ou bancos de dados do sistema.Use when bringing your own SQL Server license, when migrating a database that you will run on an older version of SQL Server, or when migrating system and user databases together as part of the migration of database dependent on other user databases and/or system databases.
Remeter o disco rígido usando o Serviço de Importação/Exportação do WindowsShip hard drive using Windows Import/Export Service SQL Server 2005 ou posteriorSQL Server 2005 or greater SQL Server 2005 ou posteriorSQL Server 2005 or greater Limite de armazenamento da VM do AzureAzure VM storage limit Use o Serviço de Importação/Exportação do Windows quando o método de cópia manual for muito lento, como com bancos de dados muito grandesUse the Windows Import/Export Service when manual copy method is too slow, such as with very large databases
Usar o Assistente para Adicionar uma Réplica do AzureUse the Add Azure Replica Wizard SQL Server 2012 ou posteriorSQL Server 2012 or greater SQL Server 2012 ou posteriorSQL Server 2012 or greater Limite de armazenamento da VM do AzureAzure VM storage limit Minimize o tempo de inatividade, use quando tiver uma implantação local do AlwaysOnMinimizes downtime, use when you have an Always On on-premises deployment
Usar a replicação transacional do SQL ServerUse SQL Server transactional replication SQL Server 2005 ou posteriorSQL Server 2005 or greater SQL Server 2005 ou posteriorSQL Server 2005 or greater Limite de armazenamento da VM do AzureAzure VM storage limit Use quando precisar minimizar o tempo de inatividade e não tiver uma implantação local do AlwaysOnUse when you need to minimize downtime and do not have an Always On on-premises deployment

Backup e restauraçãoBackup and restore

Faça o backup do seu banco de dados com a compactação, copie o backup para a VM e, em seguida, restaure o banco de dados.Back up your database with compression, copy the backup to the VM, and then restore the database. Se o arquivo de backup tiver mais de 1 TB, você deverá dividi-lo, já que o tamanho máximo de um disco de VM é de 1 TB.If your backup file is larger than 1 TB, you must stripe it because the maximum size of a VM disk is 1 TB. Use as seguintes etapas gerais para migrar um banco de dados do usuário usando este método manual:Use the following general steps to migrate a user database using this manual method:

  1. Execute um backup de banco de dados completo para um caminho local.Perform a full database backup to an on-premises location.
  2. Crie ou carregue uma máquina virtual com a versão do SQL Server desejada.Create or upload a virtual machine with the version of SQL Server desired.
  3. Configure a conectividade com base em seus requisitos de instalação.Setup connectivity based on your requirements. Consulte Conectar-se a uma Máquina Virtual do SQL Server no Azure (Gerenciador de Recursos).See Connect to a SQL Server Virtual Machine on Azure (Resource Manager).
  4. Copie os arquivos de backup para sua VM usando a área de trabalho remota, Windows Explorer ou comando de cópia em um prompt de comando.Copy your backup file(s) to your VM using remote desktop, Windows Explorer or the copy command from a command prompt.

Fazer backup para URL e restaurarBackup to URL and restore

Em vez de fazer o backup em um arquivo local, é possível usar o backup para URL e, em seguida, restaurar da URL para a VM.Instead of backing up to a local file, you can use the backup to URL and then restore from URL to the VM. Com o SQL Server 2016, conjuntos de backup divididos têm suporte, são recomendados para um melhor desempenho e são necessários para exceder os limites de tamanho por blob.With SQL Server 2016, striped backup sets are supported, are recommended for performance, and required to exceed the size limits per blob. Para bancos de dados muito grandes, é recomendado o uso do Serviço de Importação/Exportação do Windows .For very large databases, the use of the Windows Import/Export Service is recommended.

Desanexar e anexar da URLDetach and attach from URL

Desanexar os banco de dados e arquivos de log e transferi-los para Armazenamento de Blobs do Azure.Detach your database and log files and transfer them to Azure Blob storage. Em seguida, anexe o banco de dados da URL na sua VM do Azure.Then attach the database from the URL on your Azure VM. Use esta opção se desejar que os arquivos de banco de dados físicos residam no armazenamento de Blobs.Use this if you want the physical database files to reside in Blob storage. Isso pode ser útil para bancos de dados muito grandes.This might be useful for very large databases. Use as seguintes etapas gerais para migrar um banco de dados do usuário usando este método manual:Use the following general steps to migrate a user database using this manual method:

  1. Desanexe os arquivos de banco de dados da instância de banco de dados local.Detach the database files from the on-premises database instance.
  2. Copie os arquivos desanexados do banco de dados no armazenamento de blob do Azure usando o utilitário de linha de comando AZCopy.Copy the detached database files into Azure blob storage using the AZCopy command-line utility.
  3. Anexe os arquivos de banco de dados da URL do Azure para a instância do SQL Server na VM do Azure.Attach the database files from the Azure URL to the SQL Server instance in the Azure VM.

Converter a VM e carregar a URL e implantar como uma nova VMConvert to VM and upload to URL and deploy as new VM

Use esse método para migrar todos os sistemas e bancos de dados de usuário em uma instância local do SQL Server para a máquina virtual do Azure.Use this method to migrate all system and user databases in an on-premises SQL Server instance to Azure virtual machine. Use as seguintes etapas gerais para migrar de uma instância inteira do SQL Server usando este método manual:Use the following general steps to migrate an entire SQL Server instance using this manual method:

  1. Converta máquinas físicas ou virtuais em VHDs do Hyper-V.Convert physical or virtual machines to Hyper-V VHDs.
  2. Carregue arquivos de VHD no armazenamento do Azure usando o cmdlet Add-AzureVHD.Upload VHD files to Azure Storage by using the Add-AzureVHD cmdlet.
  3. Implante uma nova máquina virtual usando o VHD carregado.Deploy a new virtual machine by using the uploaded VHD.

Observação

Para migrar um aplicativo inteiro, use o Azure Site Recovery.To migrate an entire application, consider using Azure Site Recovery].

Remeter a unidade de disco rígidoShip hard drive

Use o método do Serviço de Importação/Exportação do Windows para transferir grandes quantidades de dados de arquivo para o armazenamento de Blob do Azure em situações em que o carregamento pela rede seja extremamente caro ou inviável.Use the Windows Import/Export Service method to transfer large amounts of file data to Azure Blob storage in situations where uploading over the network is prohibitively expensive or not feasible. Com esse serviço, você envia um ou mais discos rígidos contendo esses dados para um data center do Azure, onde os dados serão carregados para sua conta de armazenamento.With this service, you send one or more hard drives containing that data to an Azure data center, where your data will be uploaded to your storage account.

Próximas etapasNext steps

Para obter mais informações sobre como executar o SQL Server em Máquinas Virtuais do Azure, veja Visão geral do SQL Server em Máquinas Virtuais do Azure.For more information about running SQL Server on Azure Virtual Machines, see SQL Server on Azure Virtual Machines overview.

Dica

Em caso de dúvidas sobre máquinas virtuais do SQL Server, consulte as Perguntas frequentes.If you have questions about SQL Server virtual machines, see the Frequently Asked Questions.

Para obter instruções sobre como criar uma Máquina Virtual do Azure SQL Server de uma imagem capturada, confira Tips & Tricks on ‘cloning’ Azure SQL virtual machines from captured images (Dicas e truques ao 'clonar' as máquinas virtuais do Azure SQL de imagens capturadas) no blog dos Engenheiros do CSS SQL Server.For instructions on creating an Azure SQL Server Virtual Machine from a captured image, see Tips & Tricks on ‘cloning’ Azure SQL virtual machines from captured images on the CSS SQL Server Engineers blog.