Infomach

SQL Server 2005 a hora de migrar

O ano de 2015 chegou ao fim assim como o suporte para o Microsoft SQL Server 2005 que foi encerrado em 12 de abril de 2016. Isso significa que se você ainda está utilizando esta versão, já sugerimos antecipadamente, a começar o mais breve possível o planejamento para a atualização. O fim do suporte significa o fim de atualizações de segurança e hotfixes.

Se a ausência de suporte e as questões de segurança ainda não lhe motivam, a migração por si só traz muitos benefícios, principalmente relacionados à performance e disponibilidade, isso considerando que você irá migrar para o SQL Server 2014.

O processo de migração basicamente pode ser dividido em 3 fases:

1 – Inventário

Nesta etapa a recomendação é levantar toda a documentação referente aos seus sistemas e banco de dados, bem como as dependências, janelas de manutenção (para efetuar a migração), compatibilidade de suas aplicações e licenciamento.

Para lhe ajudar nesta tarefa de inventariar e descobrir seus sistemas de banco de dados, a Microsoft disponibiliza o MAP Toolkit, com esta ferramenta você terá informações detalhadas como versão, nome da instância, informações sobre o hardware e tais dados ainda podem ser exportados para o Excel, facilitando a análise.

2 – Defina seu alvo

Com o inventário dos seus sistemas de banco de dados em mãos, chegou a hora de definir o destino aos bancos que serão migrados, estes destinos incluem um novo servidor de banco de dados físico, um servidor virtual e até mesmo a nuvem (já pensou em SQL Azure?). Neste momento vale à pena avaliar opções de consolidação de instancias, pois você provavelmente está partindo de um hardware legado (lento e limitado) e tem a oportunidade de migrar para um servidor SQL Server 2014 executando sobre Windows Server 2012.

Juntamente com a definição do alvo, é a hora de definir qual estratégia será utilizada, incluindo procedimentos de rollback, sobre as estratégias temos 3 opções que descreverei na etapa de upgrade.

3 – Upgrade

Se o seu atual SQL Server 2005 está instalado em um servidor Windows 2008 você pode realizar o upgrade in-place onde o processo consiste de executar o instalador do SQL Server 2014 diretamente no servidor e optar pela opção de atualização. Talvez esta seja a pior estratégia, visto que você não terá a oportunidade de instalar um novo sistema operacional, também nesta estratégia, se necessário o processo de rollback é praticamente nulo. Outro ponto a ser considerado, não é possível realizar a atualização “cross platform”, por exemplo, migrar um SQL Server 2005 32 btis para SQL Server 2014 64 bits.

Outra estratégia seria o modelo Side-by-Side, onde é realizada a instalação de uma nova instância do SQL Server no mesmo servidor e após o processo de migração do banco de dados a instância SQL 2005 é removida.

Finalmente a estratégia mais comum é a instalação de um novo servidor virtual (ou físico) com Windows Server 2012 e a instalação de uma nova instância SQL Server 2014, este é modelo mais recomendado e o mais comum.

O passo seguinte, independente da estratégia, é a migração do banco de dados em si, este processo pode ser realizado através de métodos como “dettach – attach”, “copy database wizard” e “backup – restore”. Se você realiza o backup do banco de dados no SQL Server 2005 e o restaura no servidor SQL Server 2014, o processo de atualização do banco de dados é realizado automaticamente:

RESTORE DATABASE [Infomach] FROM DISK = I’D:\backups\infomach.bak’ WITH FILE = 1,

MOVE I’Infomach_Data’

TO I’D:\Databases\Infomach\Infomach.mdf’,

MOVE I’Infomach_Log’

TO I’D:\Databases\Infomach\Infomach.ldf’,

NOUNLOAD, STATS = 10;

Na execução do comando, teremos uma saída semelhante a esta:

….

90 percent processed.

100 percent processed.

Processed 280400 pages for database ‘Infomach’, file ‘Infomach_Data’ on file 1.

Processed 15 pages for database ‘Infomach’, file ‘Infomach_Log’ on file 1.

Converting database ‘Infomach’ from version 611 to the current version 782.

Database ‘Infomach’ running the upgrade step from version 611 to version 621.

Database ‘Infomach’ running the upgrade step from version 621 to version 622.

Database ‘Infomach’ running the upgrade step from version 781 to version 782.

RESTORE DATABASE successfully processed 280400 pages in 340.521 seconds (6.950 MB/sec).

Note que o processo de conversão foi realizado, caso execute o restore via interface gráfica, você não terá esta saída detalhada.

Uma vez o banco convertido para a versão do SQL Server 2014 ele não poderá mais ser anexado ou restaurado em uma versão do SQL Server inferior.

Após a restauração, fiz um teste comparativo entre o SQL Server 2005 e 2014. Vejamos a consulta abaixo:

select IDProduto, sum(Quantidade) QuantidadeTotal,

sum(Custo) CustoTotal from produtos

group by IDProduto

having sum(Custo) > 0

Executando a consulta no SQL Server 2005 obtenho o seguinte resultado:

Query executed successfully, time 00:00:25, 11000 rows returned

Agora vou me aproveitar do recurso Column Store Index que surgiu no SQL Server 2012 e foi melhorado no SQL Server 2014:

USE Infomach

CREATE CLUSTERED COLUMNSTORE INDEX [ClusteredColumnStore-produtos]

ON [dbo].[produtos];

No SQL Server 2012 quando este tipo de índice era criado a tabela automaticamente era convertida para “read-only” no SQL Server 2014 esta limitação não existe mais, agora executando a mesma consulta, obtenho o seguinte resultado:

Query executed successfully, time 00:00:09, 11000 rows returned

Bem, com esse incremento de performance fica claro que vale muito a pena o upgrade. A mesma consulta consumiu menos da metade do tempo para ser executada no SQL Server 2014, isto ambas as versões executando em hardware semelhante (virtual, com a mesma quantidade de processadores e memória).

A Infomach é parceira Microsoft e pode lhe fornecer licenciamento SQL Server com as melhores condições. Saiba como clicando no banner!

Sair da versão mobile