Migrando o seu banco de dados SQL Server para SQL Azure

Olá pessoal,

Tempos atrás fiz um post sobre como migrar uma aplicação ASP.NET para Windows Azure. Hoje vou falar sobre um cenário complementar, como migrar o banco de dados SQL Server de uma aplicação para o ambiente do SQL Azure.

Primeiro é necessário analisar qual o objetivo da migração, ou seja, migrar os objetos, dados ou ambos. Para migração de objetos, uma abordagem pode ser exportar via o SQL Server Management Studio (SSMS) do SQL 2008 R2 um script no formato do SQL Azure. Para migração de dados, podemos utilizar um pacote do SQL Server Integration Services (SSIS) ou até mesmo o utilitário BCP de linha de comando. Quando é necessário migrar objetos e dados, uma boa opção pode ser utilizar o Import/Export Wizard do SQL Server.

No Windows Azure Platform Training Course é possível encontrar o lab Migrating Databases do SQL Azure que demonstra exatamente como realizar a migração exportando o script dos objetos com o SSMS e migrando os dados com o BCP.

Porém, neste post quero mostrar para vocês uma outra possibilidade. Estou falando do SQL Azure Migration Wizard (SAMW), uma ferramenta open source mantida pela comunidade e disponível no CodePlex. Neste post estou utilizando a versão 3.7.4 da ferramenta.

Depois de realizar download e executar o SAMW devemos escolher a opção SQL Database e clicar em next.

image

Depois disso é necessário fornecer a conexão do servidor de origem dos dados.

image

Em seguida, é necessário escolher o banco de dados de origem, estou utilizando o banco da aplicação que criei durante o Roadshow da Microsoft que fizemos este ano.

image

Depois é necessário informar quais objetos serão migrados, vou deixar a opção padrão e migrar todos.

image

O SAMW mostra um resumo do que vai ser realizado. Se vc quiser mudar algo, pode clicar no back e realizar as alterações.

image

Ele solicita a confirmação para gerar o script

image

E depois retorna o resultado do processamento com o script de criação dos objetos e também dados no formato do BCP (sim, ele não reinventa a roda e aproveita para utilizar o BCP) que foram exportados e que agora devem ser importados.

image

Em seguida, devemos fornecer as informações para conexão com o SQL Azure

image

O próximo passo é fornecer qual banco de dados será utilizado como destino dos objetos e dados, note que também existe a possibilidade de criar um novo banco de dados.

image

O SAMW solicita confirmação para execução do script.

image

Ele executa os scripts de criação dos objetos e também comandos BCP para importação dos dados.

image

Espero que o post tenha ajudado e com certeza o SAMW é uma ferramenta que vale a pena ter no seu toolkit.

RG