Infelizmente, parece ser o custo da virtualização em alguns cenários. Se você estiver executando com memória dinâmica que usa um driver de balão de memória, tente configurar a VM para ter uma quantidade definida de RAM. Veja a utilização de memória do host e do convidado. Se você perceber que a memória está cada vez mais consumida, tente desabilitar as páginas de bloqueio na memória. Uma coisa que você pode tentar é com todos os convidados desligados e o host recém-inicializado, basta inicializar o único convidado executando o SQL. Se as consultas forem executadas como deveriam, as outras máquinas convidadas estarão roubando essa VM dos recursos necessários. Isso pode acontecer quando um servidor não é dimensionado corretamente e é bastante comum. Uma maneira de contornar isso é adicionar uma matriz adicional de discos e dedicar a apenas essa VM. Outra maneira de enganar o sistema é usar o armazenamento em cache SSD para o banco de dados. Algumas outras coisas a serem consideradas são se você encerrar o serviço SQL e usar uma ferramenta como UltraDefrag e executar uma otimização e desfragmentação completas e, em seguida, reativar o serviço se a consulta tiver um desempenho mais rápido. Você pode obter o UltraDefrag que é opensource e livre no link por último, a Microsoft tem um documento com o qual você pode querer verificar suas configurações. Confira: link
Outra coisa é tentar usar o ESXi em vez do Hyper-V ou o mais recente Hyper-V 2012 R2.
Por fim, com a versão completa do SQL, qual versão exata está sendo executada? Qual sistema operacional exato está sendo executado para o convidado e o host? Você tem os serviços de integração mais recentes instalados?