I just stumbled across this white paper that covers running SQL 2008 on Hyper-V:
- Performance analysis;
- Conclusions and
- Recommendations.
Some interesting titbits:
- SQL 2008 performance doesn’t suffer much at all. You should be sure you need no more than 4 CPU’s for your SQL installation … remember that the guest/child VM will share CPU with other child VM’s on the host.
- Storage: optimal storage I/O is possible with passthrough disks. However, fixed size VHD only has a tiny overhead. The other VHD types are not supported in production. VHD’s advantage over passthrough is mobility, e.g. DR planning.
- Virtual networking has a minimal CPU overhead as well. Make sure you don’t use a legacy NIC in the VM spec (it’s not the default anyway).
Other things I’ll add:
- Use IDE (you have to) for the VM boot disk. Use SCSI disks for the VM log and data disks.
- Physical storage RAID 1 and 5 rules still apply, e.g. RAID 1 for OS, Paging and Log volumes. Database volumes can be RAID5 but RAID1 is best for databases with lots of write activity.
- Use integration services. Be sure you are running RTM (and the latest) Hyper-V and integration services. Upgrading Hyper-V on a host does not upgrade the integration services in a VM. This is a manual task.