A melhor maneira de se fazer qualquer tipo de atualização de versão ou migração de edições, é ter um ótimo planejamento do que será feito e cobrir todas as possibilidades de falhas conhecidas.
Devemos fazer um lista de verificação para que fique mais claro o que foi feito e o que ainda precisa ser feito. Alem da lista de verificação existem ferramentas da própria Microsoft que nos auxiliam nesse projeto.
Sugestão para uma Lista de Verificação:
· Selecione os itens a instalar
o Como tudo que é novo, você precisa estar familiarizado com os novos recursos e com os recursos antigos que foram descontinuados, pois você pode melhorar o seu trabalho com novas ferramentas ou sentir falta de algum recurso que utiliza com freqüência.
o Um dos itens mais importantes e que devemos olhar com mais atenção são: a mudança do DTS para o SSIS, a mudança dos Planos de Manutenção.
· Selecione a versão
o Baseado nos itens que você utiliza de cada versão, escolha a melhor opção de migração entre as versões: Standard, Enterprise, Workgroup, etc.
o Um dos itens mais importantes é a utilização do recurso de Cluster, no SQL Server 2000 somente a versão ENTERPRISE oferecia o recurso de Cluster, a partir do SQL Server 2005 a versão STANDARD já oferece o recurso de Cluster para 2 nós. Ambientes de Cluster com mais de 2 nós, precisam utilizar a versão Enterprise.
· Consolidação de servidores
o Se a migração está sendo feita para um novo servidor, você pode analisar a consolidação de alguns servidores existentes para o novo servidor.
o Algumas das vantagens são: centralizar a administração, diminuir o custo de licenças de softwares.
o Algumas das desvantagens são: maior consumo de recursos, ponto único de falha, necessidade de parar mais aplicações ao mesmo tempo em alguns tipos de manutenções programadas.
· Escolha a plataforma
o 32-bit ou 64-bit , todos os recursos do SQL Server estão disponíveis nas duas plataformas. Se uma atualização de Hardware será feita, considere a migração para a plataforma 64-bit.
o Um dos motivos de escolher a plataforma 64-bit é a melhor utilização dos recursos de memória que o SQL Server possui nessa plataforma.
· Monitoração
o A monitoração de ambientes e a criação de um histórico de utilização de recursos é algo fundamental para podermos ter informações suficientes para detectar problemas de desempenho e agir de forma mais precisa para resolve-los.
o Em migrações de versões essa atividade é mais importante do que nunca, pois se aparecerem pontos de baixo desempenho após a migração a primeira reação dos usuários será associar o baixo desempenho com a migração que foi feita. E nem sempre isso é verdade.
· Crie um ambiente de teste
o Antes de qualquer migração é extremamente necessário criar um ambiente de teste para avaliar se a aplicação está preparada para a nova versão. o Nesse ponto além da leitura de artigos sobre a nova versão, é importante conhecer as novas funcionalidades e as que foram descontinuadas.
o Podemos também utilizar ferramentas como o “SQL Server Upgrade Advisor” que nos fornece um relatório sobre os pontos que de alteração necessária que já são conhecidos. Ex.: utilização de *= ou =* para fazer JOIN entre tabelas que não é mais permitido a partir da versão do SQL Server 2005.
o Essa ferramenta analisa somente os bancos de dados e seus objetos, ex.: stored procedures, functions, views, etc., mas o mais importante é que você terá uma lista de itens que poderão ser potenciais problemas e que você pode encaminhar para os desenvolvedores analisarem o seu uso dentro do código da aplicação.
· Crie um plano de contingência
o Todos irão querer ver o sucesso da migração, nesse caso o sucesso não significa somente utilizar a nova versão ou o novo servidor, mas também poder voltar para a versão ou servidor antigo caso algum problema ocorra durante a migração e que não possa ser resolvido a tempo. Afinal de contas, os trabalhos e negócios da empresa não poderão parar devido a falha na migração.
o Nesse ponto o melhor é sempre fazer uma MIGRAÇÃO LIMPA, de preferência em um novo servidor ou uma instalação separada da instalação atual. Atualizar a versão já instalada é possível, mas as possibilidades de erros é muito maior.
· Integridade
o Garanta que a execução das analises de integridade, ex.; CHECKDB, não estejam reportando erros. É fundamental que essa analise seja feita em ambas as versões (antiga e nova), pois erros poderão ser acusados em versões especificas e que antes não eram considerados como erros.
o Existem casos mais comuns desse tipo de problema quando o banco de dados vem sendo migrado de versões anteriores aos SQL Server 2000.
· Bancos de Dados em READ ONLY
o Bancos de dados em READ ONLY não podem ser migrados quando a atualização é feita em cima de uma instalação já existente. É preciso primeiro configurar o banco de dados como READ WRITE e depois fazer a migração.
Ref: KB931640 - Error message when you try to upgrade a SQL Server 2000 database to a SQL Server 2005 database - http://support.microsoft.com/kb/931640
· Replicação de Dados
o Caso você tenha bancos de dados utilizando o recurso de replicação de dados do SQL Server, a ordem de atualização dos servidores é importante.
o A ordem correta de atualização é: DISTRIBUTOR, PUBLISHER, e SUBSCRIBER.
· Books Online
o Leia a documentação oficial do SQL Server, pois existem tópicos que falam com detalhes sobre os requisitos e as possibilidades e compatibilidades de migrações.
Como você pode ver, fazer uma migração de versão ou servidor não é uma tarefa tão simples assim, mas o mais importante é ter um ótimo planejamento e estar prevenido para os imprevistos.
SQL Server Upgrade Advisor 2005
SQL Server Upgrade Advisor 2008




