Supondo que não houve uma alteração de configuração na afinidade de CPU ou no MAXDOP, como mencionado por gbn, existem algumas possibilidades.
A primeira é que o plano de consulta da sua consulta foi alterado porque a distribuição dos índices ou dos dados da tabela subjacente foi alterada de forma significativa. Tente otimizar ou reconstruir índices nas tabelas subjacentes.
Em segundo lugar, você pode agora estar ligado a E / S, lendo dados do seu arquivo de banco de dados principal ou trabalhando em tempdb (onde o SQL armazenará partes intermediárias da consulta se for muito grande para RAM). Use o perfmon e monitore o avg. Comprimento da fila de disco. Deve ter uma média menor que o número de fusos de disco físico no servidor. Se ele disparar durante a "consulta pesada" enquanto a CPU estiver baixa, a CPU está simplesmente aguardando o IO do disco e, portanto, não pode executar a 100% fazendo um trabalho útil. Se este for o caso, você tem algumas opções: mais RAM (para reduzir a necessidade de usar o disco), disco mais rápido (SSD?) Ou otimizar consultas, índices e esquemas para reduzir o IO do disco. A última opção pode ter, de longe, o maior impacto (literalmente melhorando as coisas por um fator de 100 ou mais). Mas também pode ser o mais difícil, dependendo da estrutura de dados e das consultas. Leia sobre planos de execução de SQL; compre alguns livros.