O nível de compatibilidade do banco de dados afetaria o desempenho?

5

Acabamos de migrar nosso Microsoft SQL Server de empresa de 2005 para o padrão de 2008 no mesmo hardware de especificação. Os bancos de dados foram submetidos a backup e, em seguida, restaurados para uma instalação limpa do SQL 2008. O nível de compatibilidade está atualmente em 90 (2005). Nenhum dos recursos do Enterprise estava sendo usado em 2005 (portanto, o downgrade de edição). Observamos um aumento de 10-12% na utilização da CPU em 2008 em comparação com 2005. A única outra mudança foi que o SQL 2005 estava executando um servidor 2003 x64 e 2008 está executando o servidor 2008 x64. Não estamos usando nenhum índice de texto completo.

O nível de compatibilidade do banco de dados afetaria o desempenho? Não reconstruímos nenhum índice ou estatísticas atualizadas, isso teria impacto? O que mais devemos procurar que possa afetar o desempenho?

    
por duckworth 21.10.2009 / 17:06

5 respostas

5

Eu recomendaria a recompilação de índices.

link

    
por 21.10.2009 / 18:53
2

Existe algum problema de desempenho? Em outras palavras, a única coisa que você está vendo é um aumento na utilização da CPU, mas não uma diminuição na taxa de transação?

Se o aplicativo agora for capaz de (e processar) mais transações por segundo, é totalmente possível que o aumento no tempo do processador se deva a um maior thruput. Se houver diferenças de hardware, essa também pode ser a causa. Você deve atualizar estatísticas e índices no banco de dados após uma mudança, e isso pode causar um aumento na CPU (mas depende do aplicativo)

O nível de compatibilidade refere-se apenas ao nível de conotação da linguagem T-SQL, então geralmente não há um impacto no desempenho, a menos que você esteja usando algum código que tenha sido substituído por um método muito superior, caso em que o mecanismo pode não ser tão otimizado para o código antigo.

    
por 21.10.2009 / 19:03
1

Você pode encontrar documentação sobre os diferentes níveis de compatibilidade aqui .

O nível de compatibilidade do banco de dados afeta principalmente a sintaxe SQL e a análise de consulta, e não deve ter impacto no desempenho; De qualquer forma, se você não for forçado pelos problemas do aplicativo a usar um nível anterior, a atualização será considerada a melhor prática.

    
por 21.10.2009 / 17:29
0

Se são 2 servidores diferentes, pode ser o disco IO (configurações de invasão?). Eu concordo com @Massimo no systax.

    
por 21.10.2009 / 17:30
0

Os níveis de compatibilidade não devem ser um problema.

Se você ainda não tiver feito isso, eu executaria o PerfMon nesse servidor para ver se você pode determinar se a maior utilização da CPU está vindo do SQL Server, do Windows ou de outra coisa.

    
por 21.10.2009 / 21:30