Recently, someone asked me a question about consolidating SQL Server to VMWare. Here is my response.
Microsoft has a webcast on their TechNet website that discusses SQL Server on MSFT’s virtual server. You can draw some conclusions as well that this also deals with VMWare. Basically, the main idea is that you may run SQL Server on a virtualized environment if the load is light. With that said, I have discussed this topic with others in the past. If I were a DBA, I would not want any of my PRODUCTION SQL Servers running on a VM. Dev and QA boxes are a different story. Also, MSFT supports their Virtual Server product only; they have limited support for other virtualized environments such as VMWare. This means that if you are running SQL Server on VMWare and have an issue, MSFT will go only so far to help you with your issue before asking you to move to real hardware.
Performance - The Query Processor inside SQL Server assigns certain values to operations (CPU/Mem/disk/etc) when it calculates a query plan. These values have been fine tuned over the years. The Virtualized Environment adds another layer of translation and invalidates the efficiency of many plans. Also, MSFT Virtual Server only sees 1 processor; I believe the current version of VMWare only sees 2.
Licensing – Each SQL Server on a VM needs to be licensed. Let’s take a 2-proc box and put 4 VMs on it. Each VM needs to have its own SQL License. This increases the cost dramatically. There is a whitepaper on the MSFT website about SQL Server Licensing that describes this.
For these reasons, I do not recommend Virtualized Environments for Production SQL Server. Perhaps the next generation (not next version), the technology will improve where it will not matter.