Modo de compatibilidade do SQL Server
-
09-06-2019 - |
Pergunta
No momento, estamos executando um servidor no modo de compatibilidade 8 e quero atualizá-lo.
- Quais são as implicações de simplesmente entrar e mudar isso?
- O que provavelmente quebrará?
- Existe algo que verifique se os dados sobreviverão antes de eu executá-los?
- Posso reverter para o modo 8 sem realizar uma restauração e sem perda de dados?
Solução
Se você vai dos 80 aos 90, as diferenças são mínimas.Ir de 65 para 70+ pode causar um impacto grave (NULLs são armazenados de forma diferente).
Implicações - seus SPs podem retornar resultados diferentes do que você esperaria de quebrar:funções, os dados do SPS devem sobreviver;nada ali deve afetar as coisas.
Passar de 80 para 90 e voltar leva apenas alguns segundos.Sim, você pode ir e voltar.
http://msdn.microsoft.com/en-us/library/bb510680.aspx
algumas pegadinhas: http://mapamdug.blogspot.com/2006/03/sql-server-2005-gotcha-1.html
Outras dicas
- O modo de compatibilidade não afeta o armazenamento.É apenas uma bandeira.Nada mudará nos dados ou consultas.Somente a execução da consulta será afetada.
- Nada – ou muitas coisas.Você usou sintaxe marcada como obsoleta e sujeita a exclusão em 2000?Você usou parênteses ao fornecer dicas nas consultas?Você usou dicas de execução de consulta?Se sim, é melhor revisar seu banco de dados primeiro, remover a sintaxe obsoleta, colocar os parênteses de volta e cavar o BOL para descobrir quais dicas irão desacelerar sua consulta ajustada no novo mecanismo.
- Não.Mas os dados sobreviverão.Na verdade, se você conseguir executar seu banco de dados no server2005, mesmo no modo 8, você já estará usando um novo formato de dados.
- Sim, você pode reverter.Não é uma transformação, é apenas definir um sinalizador que diz "Minhas consultas são compatíveis".
O modo de compatibilidade desativa os recursos da versão mais recente, pessoalmente não trabalhei com muitos bancos de dados que apresentam problemas, o principal problema em nosso ambiente é que depois de mudar para 9, você não pode mais usar o Enterprise Manager para visualizar o base de dados.
Um backup/restauração é uma boa opção e também acredito que você pode revertê-lo sem problemas.
(Eu disse que era apenas se você estivesse migrando do 6.5, que não armazenava nada em char()
campos quando NULL - 70 e maiores usam todo o campo, o que pode causar grandes alterações de tamanho.)
VBStreets está certo em seus pontos - e definitivamente no ponto 3 - quando você executou o banco de dados pela primeira vez em 2005, ele converteu a estrutura de dados.Se você fizer um backup, ele não poderá ser restaurado em versões anteriores, independentemente do nível de compatibilidade.