Como já era de se esperar, a migração do banco de dados do SQL Server 7.0/2000 para o SQL Server 2005 é bastante simples e pode ser realizada de três formas:
1. Backup/Restore
2. Attach/Detach
3. Utilizando o Copy Database Wizard
No entanto, devido às grandes implementações e mudanças realizadas no SQL Server 2005, nada garante que sua aplicação continuará funcionando ou não terá problemas após a migração do bando de dados. A preocupação é tanta que a Microsoft acabou desenvolvendo uma ferramenta que pode auxiliar os desenvolvedores e administradores na tarefa de tornar suas aplicações compatíveis com os novos recursos ou requisitos do SQL Server 2005. A ferramenta chama-se SQL Server 2005 Upgrade Advisor.
O Upgrade Advisor é uma ferramenta que pode ser usada por desenvolvedores e administradores para analisar suas aplicações e bancos de dados e prepará-los para o SQL Server 2005. Como resultado da análise a ferramenta apresenta relatórios que identificam features descontinuadas e mudanças necessárias de configuração que devem ser solucionadas antes ou após a migração para o SQL Server 2005. O mais interessante, é que além de identificar possíveis incompatibilidades e configurações que possam impactar a migração, a ferramenta também apresenta links para documentos que descrevem as incompatibilidades de forma mais detalhada e os passos necessários para solucioná-las.

Como o Upgrade Advisor Trabalha
Ao executar o Upgrade Advisor a janela principal é apresentada com as seguintes opções:
1. Launch Upgrade Advisor Analysis Wizard
2. Launch Upgrade Advisor Report Viewer
Na primeira vez que a ferramenta é executada, você deve rodar o Upgrade Advisor Analysis Wizard. Ele permite a análise dos seguintes componentes do SQL Server:
a) SQL Server (Database Engine)
b) Analysis Services
c) Notification Services
d) Reporting Services
e) Data Transformation Services (o qual no SQL 2005 é chamado de SQL Server Integration Services)
A análise é realizada para o componente selecionado e examina stored procedures, triggers, funções, utilização de procedures de sistema, trace files e scripts T-SQL em busca de features descontinuadas ou configurações que possam impactar a migração para o SQL Server 2005.
A utilização de um trace file (opção Analyze trace file) não é obrigatória mas a opção é muito útil para aplicações que usam consultas ad-hoc (as instruções SQL são enviadas diretamente pela aplicação). Neste caso, antes de executar o Upgrade Advisor, ative um trace no banco de dados utilizado pela aplicação e monitore as atividades por alguns minutos ou horas. Depois, basta usar o Upgrade Advisor informando o trace file a ser analisado.
Se preferir, também é possível analisar apenas um script T-SQL (opção Analyze SQL batch file).

Após a realização da análise, execute o Upgrade Advisor Report Viewer para visualizar o relatório com as possíveis incompatibilidades encontradas. No relatório temos informações como a importância, quando resolver e uma breve descrição da incompatibilidade.
Ao clicar sobre uma incompatibilidade, obtemos uma descrição mais detalhada e links que apresentam os objetos afetados e informações sobre como resolvê-la.

Pegando a view vw_titulo_authors como exemplo, podemos ver que ela realmente se enquadra na incompatibilidade descrita pois é usada a hint NOLOCK várias vezes sem especificar o keyword WITH.
CREATE VIEW vw_titulo_authors
AS
SELECT a.au_lname,t.title_id, t.title
FROM authors a (NOLOCK)
INNER JOIN titleauthor ta (NOLOCK)
ON a.au_id=ta.au_id
INNER JOIN titles t (NOLOCK)
ON t.title_id= ta.title_id
Para resolver a incompatibilidade e tornar a view compatível com o SQL Server 2005, devemos incluir o keyword WITH antes da hint NOLOCK.
CREATE VIEW vw_titulo_authors2
AS
SELECT a.au_lname,t.title_id, t.title
FROM authors a WITH (NOLOCK)
INNER JOIN titleauthor ta WITH (NOLOCK)
ON a.au_id=ta.au_id
INNER JOIN titles t WITH (NOLOCK)
ON t.title_id= ta.title_id
Obtendo e Instalando o Upgrade Advisor
O Upgrade Advisor está disponível para download público através do link SQL Server 2005 Upgrade Advisor (9.00.2047 – Abril/2006).
A ferramenta pode ser instalada no Windows 2000 Service Pack 4, Windows Server 2003 Service Pack 1, Windows XP Service Pack 2 e requer o Microsoft .NET Framework 2.0 ou superior, o mesmo instalado pelo SQL Server 2005.
Diretrizes para os testes
Minha sugestão é que se faça as análises utilizando as seguintes diretrizes:
1. Utilize o SQL Server Profiler para capturar um trace file na base de dados do SQL Server 7.0/2000. Este trace irá capturar todas as stored procedures, views, trigger e consultas ad-hoc executadas no banco de dados. Neste trace, adicione também a coluna “Duration” para que se possa havaliar possíveis ganhos de performance após a migração para o SQL Server 2005.
2. Execute o Upgrade Advisor sobre o SQL Server 7.0/2000 informando o banco de dados e o trace file coletado.
3. Analise e corrija todas as incompatibilidades ou configurações que possam impactar a migração.
4. Migre para o SQL Server 2005.
5. Capture um trace file no SQL Server 2005 e compare com o SQL Server 7.0/2000 para identificar possíveis ganhos em performance.
Nota: Se houver dúvidas sobre como utilizar o SQL Server Profile para capturar um trace no SQL Server, leia o artigo Using SQL Profiler.
Como podemos observar, o Upgrade Advisor é uma excelente ferramenta para ajudar os desenvolvedores e administradores a migrar suas aplicações para o SQL Server 2005. É possível que a ferramenta não consiga cobrir todas as situações mas com sua utilização teremos a certeza de que pelo menos as incompatibilidades mais comuns serão resolvidas.
Nota: Para obter uma lista completa das incompatibilidades ou configurações que poderão impactar a migração de sua aplicação para o SQL Server 2005, selecione o link Read more about Upgrade Issues na janela principal da ferramenta.
Um abraço a todos
Nilton pinheiro

