Nenhuma versão do SQL é 100% compatível com versões anteriores. A cada lançamento, há uma lista bem documentada de recursos reprovados e descontextualizados, e o SQL Server 2008 não é diferente. A lista está publicada em Compatibilidade com versões anteriores do Mecanismo de Banco de Dados do SQL Server . Contém uma lista de recursos que não são mais suportados no SQL 2008, como:
- sp_addalias
- instruções DUMP e LOAD
- REGISTRO DE BACKUP COM LOG DO NOLOG / BACKUP COM TRUNCATEONLY
- TRANSACÇÃO DE BACKUP
- CONCURANCEVIOLATION DO DBCC
- sp_addgroup / sp_dropgroup / sp_changegroup / sp_helpgroup
- sp_makewebtask / sp_dropwebtask / sp_runwebtask
- sp_enumcodepages
Além disso, nenhum recurso do SQL Server é descontinuado sem um amplo aviso de heads-up. Todos os recursos desconcentrados no SQL 2008 estavam na lista de recursos preteridos no SLQ 2005. Você pode usar o SQL Profiler para monitorar seu aplicativo SQL 2005 e observar os eventos:
O primeiro evento será disparado toda vez que seu aplicativo usar um recurso na lista 'endagered'. O segundo evento será acionado quando você usar um recurso que será descontinuado na próxima versão.
Finalmente, o contador de desempenho do SQL para recursos obsoletos, consulte O que foi preterido características que estou usando? :
select instance_name as [Deprecated Feature]
, cntr_value as [Frequency Used]
from sys.dm_os_performance_counters
where object_name = 'SQLServer:Deprecated Features'
and cntr_value > 0
order by cntr_value desc
Entre toda a documentação e infraestrutura disponíveis para monitorar recursos preteridos, você tem vários meios de descobrir se seu aplicativo está usando recursos descontinuados.
Agora, o que foi dito, a menos que você use recursos da idade das trevas do SQL Server 6.0. seu aplicativo provavelmente não será afetado no SQL Server 2008. Há vários motivos para atualizar, principalmente eu cito compressão de página , que é literalmente um grande aumento de desempenho a custo livre (exagero para efeito dramático, mas apenas ligeiramente).
Você deve ir em frente e atualizar, mas seja inteligente:
- Execute o orientador de atualização , leia o conselho
- Tenha um ambiente de teste, implemente seu aplicativo no teste primeiro
- Tenha uma bateria abrangente de testes funcionais para realizar, confirme que seu produto ainda funciona como anunciado. Se você puder medir a cobertura do código de teste, tente atingir uma cobertura de 85 a 90%
- Ter uma saída reta se as coisas forem à falência. Lembre-se de que um banco de dados atualizado nunca pode ser rebaixado. Portanto, mantenha cópias seguras dos arquivos de banco de dados do SQL 2005, caso seja forçado a voltar. Tenha um plano de tecnologia para aplicar as transações pós-atualização de volta a 2005, se necessário, ou tenha um plano de negócios para explicar por que as transações foram perdidas (não estou brincando, pode ser uma solução perfeitamente aceitável).
Então, dependendo de quão pretensiosos são seus dados, você deseja aplicar todos, alguns ou nenhum dos itens acima. Posso dizer que se você estivesse no barco 'all', provavelmente não teria feito a pergunta para começar;) então provavelmente alguns dos conselhos acima se aplicam a você.