THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Rick Heiges

News about SQL Server and the SQL Server Community

SQL Server on VM

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.

Published Friday, February 16, 2007 7:25 AM by RickHeiges

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



MikeS said:

> Basically, the main idea is that you may run SQL Server on a virtualized

> environment if the load is light.

> If I were a DBA, I would not want any of my PRODUCTION SQL Servers running

> on a VM

Why not run lightly loaded production databases on VMWare? That's what we do and it works great!  We run lightly loaded SQL Server and Oracle database on VMWare ESX and this offers many benefits such server consolodation, moving live VMs between VMWare servers for maintenance or load balancing, etc..  VMWare also allows us to deploy DRP plans that are hard to beat as the VMs are files we can restore to another VMWare server off-site.  Moreover, VMWare let's us snapshot an entire server and rollback to the snapshot.  This allows us to quickly undo a SQL SP or hotfix is things go wrong by reverting back to the snapshot.

Also: I don't think SQL Server costs are that big a deal especially if using Standard Edition and you using the Server + CALS licensing model.  The CALS are already purchased so licensing a new Standard Edition server is typically less than $1,000/VM.

Thanks for the discussion on this topic as I would appreciate hearing what others have to say.

February 16, 2007 12:47 PM

mikelile said:

I've had an issue in the past running SQL2005 (SP1) inside VMWare... Specifically, under heavy load I would occasionally get delayed write failures on the NTFS volume that the virtual drive was on.  The only way to prevent the problem was to disable write caching in the host OS (Windows XP) -- far from an ideal solution.

I'm not sure if this is a VMWare problem or a Microsoft problem (or a personal problem).  I don't imagine this is an issue under server-type OS setups like Server 2003 and/or ESX but if you're like me and want to run VMs on a notebook (in this case a Dell Precision M90) it's something to be aware of.

March 1, 2007 3:57 PM

digitalje said:

Hey Rick,

We are currently running SQL Server 2005  SP1 on VMWare and for the past week we have beeing experiencing high CPU usage that results in us having to reboot the virtual machine. I came across your post and wanted to ask you if you had any links or articles that further support your post. We are starting to suspect that the VM environment might be the issue, but wanted to validate that first before we recommend moving over to a non-VM solution.



August 17, 2007 10:21 AM

Dowell said:

It's appropriate time to make some plans for the future and it's time to

be happy. I've read this post and if I could I desire to suggest you some interesting

things or advice. Maybe you could write next articles referring to this article.

I wish to read more things about it!

November 29, 2013 3:06 AM

Leave a Comment


This Blog


Privacy Statement