The basic problem is that your setup may be sufficient, but it depends on your database size and I/O load.
A database fitting into memory does not gain major performance boosts form your setup. You can simply verify this be running your VM with different allocated memory sizes.
A database having lots of I/O will perform better in comparision to a smaller sized RAID or using disks with lesser rpms.
As long as you setup is only for performance, you should place your tempdb on a strip set (RAID 0) as it is faster. The ultimate tempdb boost is gained from using flash memory, e.g. a Fusion IO drive.
Another performance killer may happen in heavy I/O scenarios, when your database files are using auto-growth with an too small growth-factor. This happens often in your tempdb and sometimes in your database files
http://msdn.microsoft.com/us-en/library/ms190768.aspxallocating more disk space in such an scenario can lead to a serious performance loss. You can this also verify very easily be using a really small tempdb size and a really small growth-factor.
A must read which explains this in detail:
http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL2008inHyperV2008.docxmfg
--> stefan <--