Exportar (0) Imprimir
Expandir Tudo

Migrando para o SQL Server em uma máquina virtual do Azure

Atualizado: março de 2014

Este tópico fornece informações sobre como migrar um banco de dados do SQL Server local existente incorporado à plataforma do Windows Server para o SQL Server em Máquinas Virtuais do Azure (VMs). O tópico também inclui um fluxo de trabalho de decisão de quando escolher executar o aplicativo do SQL Server em uma máquina virtual na nuvem ou para migrar seu banco de dados existente do SQL Server ao Banco de dados SQL do Azure (banco de dados SQL).

O SQL Server em uma máquina virtual permite reduzir o custo total de propriedade de implantação, gerenciamento e manutenção de aplicativos de magnitude empresarial, migrando facilmente esses aplicativos para o Azure. Migrar aplicativos existentes do SQL Server para máquinas virtuais do Azure não requer nenhuma alteração mínima de código. Com o SQL Server em uma máquina virtual, administradores e desenvolvedores ainda podem usar as mesmas ferramentas de desenvolvimento e administração que estão disponíveis no local.

Autores: Selcin Turkarslan
Revisores: Evgeny Krivosheev, Paolo Salvatori, Lindsey Allen, Steve Howard

Seções deste artigo

Usar o SQL Server em uma máquina virtual do Azure pode habilitar muitos cenários locais na nuvem:

  • Desenvolvimento de aplicações e testes rápidos: Desenvolve uma aplicação de banco de dados que requer validações em um ambiente de produção. Em vez de comprar um novo hardware para fazer a validação ou teste de seu novo aplicativo, use o SQL Server em uma máquina virtual. Basta criar uma máquina virtual usando a imagem da plataforma que contém o SQL Server ou carregue sua própria imagem para o Azure. Em seguida, conecte-se ao novo computador, mova os dados e configure seu aplicativo, teste e realize correções.

  • Custo total de propriedade da plataforma de virtualização: move a plataforma de virtualização local existente para o Azure. Em vez de comprar um novo hardware para executar o número crescente de aplicativos da empresa em sua própria plataforma local de virtualização, mova-os para o Azure usando a infraestrutura do SQL Server em uma máquina virtual do Azure.

  • Dimensionamento rápido sob demanda: obtém recursos adicionais de computador, armazenamento e rede para tratar picos sazonais de uso do aplicativo. Em vez de comprar um hardware adicional necessário apenas por um período de tempo específico, use a infraestrutura do SQL Server em máquinas virtuais do Azure.

  • Disponibilidade e mobilidade de dados: hospedar bases de dados do SQL Server em máquinas virtuais do Azure os tornará disponíveis para aplicativos locais e na nuvem.

O fluxo de trabalho de decisão a seguir explica quando escolher o SQL Server em uma máquina virtual e um Banco de dados SQL do Azure:

  • Para novos aplicativos de banco de dados, use o Banco de dados SQL do Azure (banco de dados SQL) ou o SQL Server em uma máquina virtual no Azure:

    • Se o banco de dados SQL der suporte a todos os recursos necessários, provisione uma nova instância do banco de dados SQL no Azure. Desenvolva sua nova aplicação de banco de dados usando o Azure SDK e plug-ins do Visual Studio, Java, PHP ou Node.js. Implemente sua aplicação no Azure e crie suas tabelas no banco de dados do SQL.

    • Se o Banco de dados SQL não oferecer suporte a todos os recursos necessários e você não quiser investir em novas alterações no design no banco de dados de aplicativo, provisione uma nova máquina virtual com a imagem da plataforma do SQL Server fornecida no novo Portal de Gerenciamento. Crie um pacote de implantação de banco de dados usando o SQL Server Data Tools. Implante esse pacote de banco de dados no SQL Server em uma máquina virtual. Você pode gerenciar, atualizar e monitorar seu banco de dados usando as ferramentas administrativas tradicionais, como o SQL Server Management Studio.

  • Para aplicativos de banco de dados existentes, identifique quais bancos de dados você deseja migrar primeiro para o SQL Server em máquinas virtuais do Azure. Em seguida, siga uma destas duas opções:

    • Converta máquinas físicas ou virtuais para VHDs do Hyper-V usando um assistente de computador P2V (físico para virtual) ou V2V (virtual para virtual) do Gerenciador de máquinas virtuais do System Center 2012. Carregue arquivos VHD para o armazenamento do Azure usando o cmdlet Add-AzureVHD. Você pode então implantar uma nova máquina virtual usando o VHD carregado. Você pode gerenciar, atualizar e monitorar seu banco de dados usando as ferramentas administrativas tradicionais, como o SQL Server Management Studio.

    • Provisione uma nova máquina virtual com a imagem da plataforma do SQL Server além de recursos de computação em nuvem da camada de aplicativo no Portal de Gerenciamento do Azure. Crie um pacote de implantação de banco de dados usando o SQL Server Data Tools e o SQL Server Management Studio. Migre a camada de aplicativo existente para o projeto do Azure usando o Azure SDK e plug-ins do Visual Studio, Java, PHP ou Node.js. Implemente uma camada de aplicativo no Azure e acesse seus dados na nuvem.

Ao migrar seu banco de dados e dados para o SQL Server em uma máquina virtual do Azure, siga estas etapas na ordem especificada:

  1. Prepare seu esquema de dados e o arquivo de dados local usando DAC, backup ou desanexação. Para obter mais informações, consulte Como preparar o esquema e os dados locais e carregá-los em uma instância do SQL Server em uma máquina virtual abaixo.

  2. Como opção, compacte e criptografe os arquivos antes de transmiti-los para o Azure.

  3. Transmita seu esquema de banco de dados, dados e arquivos de log para o Azure. Se você usar o cmdlet Add-AzureVHD, primeiro coloque os arquivos em um disco rígido virtual (VHD) e carregue o VHD para o Azure. Para obter mais informações, consulte Como mover seu esquema e os dados de banco de dados para a máquina virtual do Azure abaixo.

  4. Carregue o esquema de banco de dados e o arquivo de dados para o SQL Server em uma máquina virtual. Para obter mais informações, consulte Como preparar o esquema e os dados locais e carregá-los em uma instância do SQL Server em uma máquina virtual abaixo.

  5. Recrie todos os metadados que as ferramentas de migração não podem criar no SQL Server na máquina virtual do Azure.

Começando com a versão do SQL Server 2014, você também pode usar o "Assistente para Implantar um Banco de Dados do SQL Server em uma VM do Azure" no SQL Server Management Studio para implantar um banco de dados de uma instância do mecanismo de banco de dados no SQL Server de uma máquina virtual do Azure. Para obter mais informações, consulte Implantar um banco de dados do SQL Server em uma máquina virtual do Azure.

Esta seção descreve como preparar seu esquema de banco de dados e arquivos de dados no local. Há várias opções que você pode escolher dependendo de suas necessidades:

Você pode usar um aplicativo da camada de dados (DAC) para preparar seu esquema de banco de dados e o arquivo de dados para serem transmitidos do local para o Azure:

  • Um arquivo .DACPAC: um arquivo .dacpac inclui as definições de todos os objetos do SQL Server, como tabelas, exibições e objetos de instância, associados a um banco de dados de usuário. Um DACPAC destina-se a capturar e implantar um esquema de banco de dados, inclusive atualizar um banco de dados existente. Para obter mais informações sobre como extrair um pacote de DAC (aplicativo da camada de dados) de um banco de dados do SQL Server existente, consulte Extrair um DAC de um banco de dados.

  • Um arquivo .BACPAC: Um arquivo .bacpac inclui um esquema de banco de dados e também os dados armazenados no banco de dados. Um BACPAC destina-se a capturar esquema e dados. É o equivalente lógico de um backup de banco de dados e não pode ser usado para atualizar bancos de dados existentes. Para obter mais informações sobre como criar um aplicativo .bacpac, consulte Exportar um aplicativo da camada de dados.

Você pode exportar o esquema e os dados de um banco de dados para um arquivo BACPAC. Em seguida, você pode importar o esquema e os dados em um novo banco de dados no servidor de host. Essas funções são suportadas pelas ferramentas de gerenciamento de banco de dados: Server Management Studio e a API DACFx. Para obter mais informações, consulte Importar um arquivo BACPAC para criar um novo banco de dados de usuário e Namespace Microsoft.SqlServer.Dac na biblioteca do MSDN.

Observações:

  • A operação DAC não criptografa os arquivos BACPAC ou DACPAC automaticamente. Você deve assegurar que a comunicação entre o local e o Azure seja segura. Você também pode criptografar o arquivo bacpac ou dacfile separadamente para obter proteção adicional quando o arquivo estiver em repouso no armazenamento de Blob do Azure ou no armazenamento de disco local.

  • Um DAC não dá suporte a catálogos de texto completo.

  • Para melhorar a segurança, os logons de autenticação do SQL Server são armazenados em um pacote do DAC sem senha. Quando o pacote é implantado ou atualizado, o logon é criado como um logon desabilitado com uma senha gerada. Para habilitar os logons, faça logon usando um logon que tenha a permissão de ALTER ANY LOGIN e use ALTER LOGIN para habilitar o logon e atribuir uma nova senha que possa ser comunicada ao usuário. Isso não é necessário para logons de Autenticação do Windows porque suas senhas não são gerenciadas pelo SQL Server.

Para mover um banco de dados para uma outra instância do SQL Server ou para um outro servidor, você pode usar as operações de backup e restauração. Se o SQL Server local e o SQL Server em uma máquina virtual tiverem a mesma versão, você poderá copiar um arquivo de backup do banco de dados para a máquina virtual e, em seguida, restaurar o banco de dados. Para obter mais informações, consulte Backup e restauração de bancos de dados do SQL Server.

Observações:

  • O backup e a restauração são mais rápidos do que o DAC.

  • Você pode criar um backup compactado de seus dados. Para obter mais informações sobre compactação, consulte Compressão de backup.

  • Você pode usar as ferramentas existentes e conhecidas como o Assistente de backup do SQL Server Management Studio além de ferramentas de terceiros.

  • Ao mover o banco de dados para outra instância de servidor, é necessário recriar todos os metadados dos objetos e entidades dependentes do mestre e do msdb na instância do servidor de destino. Para obter mais informações, consulte Gerenciar metadados ao tornar um banco de dados disponível em outra instância de servidor.

Para mover um banco de dados para uma outra instância do SQL Server ou para um outro servidor, você pode usar as operações de desanexação e anexação. Copie os dados (.mdf, .ndf) e os arquivos de log (.ldf) para uma pasta local da máquina virtual e anexe o banco de dados. Para obter mais informações, consulte Mover um banco de dados utilizando Desanexar e Anexar.

Observações:

  • Desanexar um banco de dados remove-o da instância do SQL Server, mas deixa intacto o banco de dados, com seus arquivos de dados e arquivos de log de transações. Exige que o banco de dados de origem fique offline. É a melhor opção para atualizar bancos de dados ou mover bancos de dados muito grandes.

  • Você não poderá desanexar um banco de dados se alguma das seguintes opções for verdadeira:

    • O banco de dados está replicado e publicado.

    • Há um instantâneo do banco de dados no banco de dados.

    • O banco de dados está sendo espelhado em uma sessão de espelhamento de banco de dados.

    • O banco de dados é suspeito.

    • O banco de dados é um banco de dados de sistema.

  • É recomendado que você faça um novo backup completo e reinicie backups diferenciais antes de desanexar.

  • Ao executar operações de desanexar e anexar bancos de dados, você pode usar o recurso de Compactação de Dados para ajudar a compactar os dados dentro de um banco de dados e para ajudar a reduzir o tamanho do banco de dados. Além disso, você pode usar ferramentas separadas de compactação e de descompactação nos arquivos desanexados.

  • Quando você anexa um banco de dados a outra instância do servidor, para oferecer uma experiência consistente aos usuários e aplicativos, talvez precise recriar alguns ou todos os metadados para o banco de dados, como logons e trabalhos, na outra instância de servidor. Para obter mais informações, consulte Gerenciar metadados ao tornar um banco de dados disponível em outra instância de servidor.

Você pode usar as seguintes técnicas adicionais para copiar ou mover bancos de dados entre servidores:

  • Você pode usar o Assistente para Copiar Banco de Dados no SQL Server Management Studio para copiar ou mover bancos de dados entre servidores ou para atualizar um banco de dados do SQL Server para uma versão posterior. Para obter mais informações, consulte Usar o assistente de copiar banco de dados. Se desejar usar essa ferramenta para copiar bancos de dados do local para o Azure, será necessário instalar a Rede Virtual do Azure para conectividade híbrida.

  • O Assistente de Importação e Exportação do SQL Server fornece um método para criar pacotes básicos e copiar dados entre fontes de dados. Para obter mais informações sobre o assistente, consulte Assistente de Importação e Exportação do SQL Server. O objetivo do Assistente de Importação e Exportação do SQL Server é copiar dados de uma origem para um destino. O assistente também pode criar um banco de dados de destino e tabelas de destino para você. Entretanto, se for necessário copiar vários bancos de dados ou tabelas, ou outros tipos de objetos de banco de dados, use o Assistente para Copiar Banco de Dados. Se desejar usar o Assistente de Importação e Exportação do SQL Server para copiar os bancos de dados do local para o Azure, será necessário instalar a Rede Virtual do Azure para conectividade híbrida.

  • Você pode usar o Assistente para Gerar e Publicar Scripts para criar scripts para transferir um banco de dados entre instâncias do Mecanismo de Banco de Dados do SQL Server. Os scripts gerados podem ser executados em outra instância do Mecanismo de Banco de Dados. É possível usar o assistente para publicar o conteúdo de um banco de dados diretamente em um serviço Web criado usando os Serviços de Publicação de Banco de dados. É possível criar scripts para um banco de dados inteiro ou limitá-lo a objetos específicos. Para obter mais informações, consulte Assistente para Gerar e Publicar Scripts.

  • Você pode usar a classe Transfer da biblioteca do SMO (SQL Server Management Objects). Para obter mais informações, consulte Transferindo Dados. O SMO que permite que os bancos de dados de origem e de destino permaneçam online e não exige mover os arquivos de banco de dados para/do armazenamento de Blob do Azure em uma etapa separada. A desvantagem do SMO é que ele usa uma conexão de cliente ao banco de dados de cada lado que usaria o TDS e não seria muito eficiente para conjuntos de dados grandes.

  • A Tarefa Transferir Banco de Dados pode copiar ou mover um banco de dados do SQL Server entre duas instâncias do SQL Server. O banco de dados pode ser transferido usando o modo online ou offline. Quando você usa o modo online, o banco de dados permanece anexado e é transferido por meio do SQL Management Object (SMO) para copiar os objetos do banco de dados. Quando você usa o modo offline, o banco de dados é desanexado, os arquivos do banco de dados são copiados ou movidos e o banco de dados é anexado ao destino após a conclusão bem-sucedida da transferência.

Você pode copiar arquivos pequenos (backup de banco de dados, arquivos BACPAC ou DACPAC) para a máquina virtual usando copiar/colar quando estiver conectado usando a área de trabalho remota.

Para transferir arquivos grandes, selecione uma das seguintes opções:

  • Use o cmdlet Add-AzureVhd para carregar arquivos VHD para o Azure. Um arquivo VHD pode incluir um banco de dados. Para obter mais informações, consulte Criando e carregando um disco rígido virtual que contém o sistema operacional Windows Server.

  • Carregue o arquivo para o armazenamento de BLOB no mesmo data center que a máquina virtual e, em seguida, a área de trabalho remota para a máquina virtual e baixe o arquivo do armazenamento de BLOB. Para obter mais informações, consulte Entendendo o armazenamento na nuvem.

  • Copie o esquema e os arquivos de dados para uma pasta compartilhada diretamente na máquina virtual.

  • Use um navegador da web para baixar um banco de dados da Internet. Por exemplo, você pode baixar o banco de dados AdventureWorks do codeplex

A tabela a seguir descreve alguns dos métodos de transferência mais comuns que você pode usar quando deseja mover arquivos para uma máquina virtual do Azure. A tabela também explica as vantagens e desvantagens de cada método.

 

Método de transferência Vantagens Desvantagens

Cópia de VHD para o armazenamento de Blob do Azure usando o cmdlet add-AzureVhd

  • Rápida, otimizada para o Azure

  • As ferramentas podem tratar conexões não confiáveis

  • Transferência segura

  • A Microsoft fornece o cmdlet Add-AzureVhd. Se uma interface gráfica do usuário é necessária, você pode usar as ferramentas de terceiros no momento.

  • Antes de usar o cmdlet Add-AzureVhd para carregar um VHD para o Azure, você deve preparar um VHD; e crie e carregue um certificado de gerenciamento no portal.

  • Você precisa anexar o VHD carregado a uma máquina virtual do Azure como um disco de dados.

Cópia do arquivo para o compartilhamento da máquina virtual

  • Simples de usar

  • Várias ferramentas de cliente estão disponíveis

  • Arquivo colocado diretamente na máquina virtual

  • Requer uma conexão VPN.

  • Somente algumas ferramentas de cópia de arquivo dão suporte a reinicialização e retomada.

Para obter informações sobre como instalar, configurar e implementar o SQL Server em uma Máquina Virtual, consulte Tutorial: Provisionando uma máquina virtual do SQL Server no Azure. Este tutorial descreve como usar o Portal de Gerenciamento do Azure para selecionar e instalar uma máquina virtual da galeria. Além disso, ele mostra como se conectar à máquina virtual usando a área de trabalho remota e também como se conectar ao SQL Server na máquina virtual usando o SQL Server Management Studio.

Para obter informações mais abrangentes, consulte Preparando-se para migrar para o SQL Server em Máquinas Virtuais do Azure e Implantação do SQL Server em Máquinas Virtuais do Azure.

Consulte também

Mostrar:
© 2014 Microsoft