Welcome to TechNet Blogs Sign in | Join | Help

Andrew Fryer's Blog

Insufficient Data

News

Virtualized SQL Server

I get more and more questions about SQL Server running in a Virtual machine so here’s 3 FAQs to start with…

1. Is there Support for SQL Server on non Microsoft Virtualization platforms (e.g.VMWare)? The definitive document on the is here.  In summary Microsoft doesn’t test this or support it, unless you have premier support in which case “Microsoft will use commercially reasonable efforts to investigate potential issues with Microsoft software running together with non-Microsoft hardware virtualization software”.

Of course the supported versions SQL Server (i.e.not 2000) and other Microsoft applications (Exchange, SharePoint etc.) will be fully supported on Hyper-V when Hyper-V is released. 

2. How does licensing work?  The exact terms are in this white paper, and in summary

  • For processor licensing each physical or active virtual machine running SQL Server must have a processor license (the number of chips not the number of cores) for each processor the virtual machine uses.  However if you have licensed enterprise edition for all of the processors on a physical machine you can run any number of SQL Server virtual machines on that box.
  • For CAL licensing each physical or active virtual machine requires the server license.  The exception to this is enterprise edition which just needs to be licensed per physical machine

Note that the licensing applies to SQL Server 2008 as well and to running SQL server on Microsoft’s Hyper-V platform in Windows Server 2008.

3. Performance. This is very easy to answer but not very helpful… Microsoft can’t test and publish how well SQL server performs on VMWare for example so I simply don’t know.  On Hyper-V this can be done as soon as Hyper-V is released.  There is always going to be some loss of performance and this will be the price you pay for improved manageability.

Finally don’t be put off by Virtual PC or VMWare demo’s you may have seen on laptops, you should get a better virtual experience using any virtualisation platform in a production environment, but the performance loss is going to vary depending on the physical infrastructure (SAN, number of Cores RAM etc.) and the workload you are virtualizing.

 
Update:
Since writing this post Microsoft has introduced the Windows Server Virtualization Validation Program (SVVP).  Essentially this means that the currently supported versions of SQL Server are now fully supported on Hyper-V, VMWare and other leading virtualisation platforms as part of this program.
Posted: Wednesday, May 07, 2008 3:58 PM by Andrew_Fryer

Comments

Carl Federl said:

"SQL Server Performance in a VMware Infrastructure 3 Environment" is located at http://www.vmware.com/files/pdf/SQLServerWorkloads.pdf

The benchmark seem un-realistic as only one VM is running at a time, when the expected deployment is multiple VMs running simultaneously.  

What is needed for the benchmark:

On the hardware, run the benchmarks with Windows 64byte with multiple SQL Server instances, that is, no VMWare.

Run the same benchmarks on the same hardware with VMware ESX Server systems and 2, 4 and 8 VMs

Comments ?

# May 10, 2008 4:22 PM

TG said:

We run several SQL 2000 and 2005 instances under VMWare Server on a couple of hosts. Using MS SQLIO simulator on the host vs inside a VM on a RAID10 SAS dual-quadcore host, I'd say we are getting about 80% of the potential disk I/O ability of the host. This kind of ratio also held true under older SCSI RAID host servers tested.

This 80% is an acceptable trade-off to us for the manageability and ease of portability of the VM to other hosts. Stability has been excellent.

In a purely performance-driven environment,of course, I'd not run it virtualized.

# May 12, 2008 10:45 AM

Wynand said:

When one chooses to store data one of the primary goals is to access the data quickly and return the result set in a acceptable time frame. So one major goal is performance throughput. I still find it hard to understand that some engineers believe that SQL server in a VM outperforms "physical" SQL servers , and TG's comments backup up the point quite well to an extend. `if you except the performance loss then it is fine but when you don't then don't even consider it. `i am still new at  the VM realm and do not believe to run high end SQL server platforms in a VM environment .. maybe my mind will change or be forcefully changed one day but till then starting to talk about SQL servers processing 1000's of batches per second the only virtual component in our environment is the cluster name :-)

# November 26, 2008 11:02 AM

Andrew_Fryer said:

Wynand

Since I wrote this post the SQL CAT team have produced a whitepaper on running SQL Server over hyper-V, http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL2008inHyperV2008.docx.

one of the scenario is four vm's all running SQL Sevrer on one physical box.  

Clearly this isn't the right approach for high performance vldb environements but how may sql servers are like that of the hundreds of thousands out there, and how manby could be rationalised in some way either by using instances or through virtualisation.

# November 27, 2008 2:34 AM

Brian T Langdon said:

Applications and servers (such as SQL Server) are supported when running within operating systems which pass the SVVP requirements in a third-party virtualization software product.  VMWare’s ESX Server is considered a SVVP qualified virtualization product when running Server 2000 SP4, 2003 SP2, or 2008.  The supporting reference is below:

http://www.windowsservercatalog.com/results.aspx?&bCatID=1521&cpID=0&avc=0&ava=0&avq=0&OR=1&PGS=25&ready=0

# February 13, 2009 12:43 PM

Andrew_Fryer said:

Brian

Thbnaks for this this post is past it's sell by date and I have an updated post ..

http://blogs.technet.com/andrew/archive/2008/11/08/sql-server-2008-at-teched.aspx  

which echoes your point

Andrew

# February 23, 2009 5:33 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

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

Page view tracker