Migrando um banco de dados SQL Server Local para o Microsoft Azure

Migrar de um banco local para o Azure é uma tarefa que deveria ser bem fácil, porém é bastante trabalhosa se você não conhece o caminho das pedras.

Passei recentemente por um problema um pouco incomum em um cliente, mas sei que pode ser comum principalmente em empresas que tem um tempo maior de vida. No caso, este banco tinha algumas Views e Stored Procedures que foram criadas há muito tempo e que suas tabelas de referência haviam sido apagadas posteriormente, perdendo assim a referência das mesmas nas VWs e SPs. Durante as primeiras tentativas de migração do banco local para o Azure, o erro que apareceu foi o seguinte:

Error SQL71564: The element Extended Property: [dbo].[<Table>].[<Column>] is not supported when used as part of a data package (bacpac).

Apareceram cerca de 500 linhas de erros, com várias tabelas e colunas repetidas. Neste caso, basta apagar todas as VWs e SPs que acusam o erro.

Feito isso, o SQL Management tem uma ferramenta de exportação direta do seu banco de dados para a sua conta do Azure, porém, se as suas tabelas não tiverem pelo menos uma coluna clustered, esta ferramenta não deixa que você faça a exportação. A ferramenta que estou citando é:
– Dentro do SQL Managemet, clique com o botão direito do mouse no database que você deseja exportar;
– Vá para o menu “Tarefas”
– Submenu “Implantar banco de dados no SQL Azure”

Já adiantando de antemão que, se as suas tabelas não estiverem 100% de acordo com as necessidades da implementação do Azure (tabelas sem ao menos uma coluna cluster, Stored Procedures e Views com a referência perdida, etc), então a importação falhará e provavelmente aparecerá o seguinte erro:

Error SQL71564: Table Table: [dbo].[<Table>] does not have a clustered index. Clustered indexes are required for inserting data in this version of SQL Server.

Depois de perder muito tempo pesquisando sobre uma forma de importar corretamente e depois de apagar todas as SPs e VWs se referência, encontrei uma ferramenta que cria automaticamente as colunas cluster no Azure, mesmo que as suas tabelas não a tenham. No meu caso, o cliente tinha várias colunas non-clustered e o que essa ferramenta fez foi justamente converter essas colunas em clustered. A Ferramenta em questão é a SQL Database Migration Wizard.

Bom, daí pra frente é muito mais “next, next, finish” mesmo, seguindo os passos abaixo:
– Criar a conta no Azure
– Criar um novo banco de dados no Azure
– Identificar e excluir as Stored Procedures e Views que perderam referência de tabelas (conforme explicado acima, basta tentar exportar para o Azure que o SQL Management vai acusar os erros)
– Baixar e executar o SQL Database Migration Wizard
– Dentro do SQL Database Migration Wizard, conectar no banco de dados local e no Azure
– Next, Next, Finish.. 😉

Tem alguma dúvida ou ainda tem problemas em importar o seu banco de dados SQL Server para o Microsoft Azure? Fale com a gente! 🙂

Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.



Serviços e Plataformas Cloud


Com entrega de consultoria baseada nos principais métodos e práticas de mercado, os Especialistas Mandic Cloud evidenciam e aceleram os resultados e impacto de transformação da área de tecnologia nas empresas com planejamento, implantação/migração e sustentação de workloads com gerenciamento na nuvem com o uso de automação, melhores práticas em DevOps e Data Analytics (Engenharia de Dados) para a Transformação Digital de negócios nas principais plataformas de cloud do mercado:
Gestão AWS Brasil

com Especialistas certificados para te acompanhar de perto, em português. Amazon AWS

Virtualização de Servidores VMware

e Especialistas Mandic Cloud 24x7 que simplificam sua vida. VMware

Orquestração Cloud OpenStack

com Especialistas Full-stack para conectar sua empresa ao futuro. OpenStack Cloud

Microsoft Azure Cloud

e Especialistas em Clouds acelerando o acesso do seu negócio à nuvem corporativa. Microsoft Azure

Google Cloud Platform

e Especialistas DevOps construindo o futuro com Transformação Digital. Google Cloud Platform