SQL Server Support in a Hardware Virtualization Environment

There is no doubt that virtualization is a hot and popular topic (the number of questions over email I get daily are a testament to that). Therefore, I think it is important for our customers to understand the support policies from Microsoft regarding SQL Server running in a hardware virtualization environment.

We have just published the following KB article that outlines this policy:

https://support.microsoft.com/?id=956893

What does this Mean?

This article previously only discussed Hyper-V but has been modified to cover other virtualization software. There are two big changes to this article:

  • SQL Server 2005 is now supported on Hyper-V
  • SQL Server 2005 and 2008 are now supported on a validated Server Virtualization Validation Program (SVVP) configuration.

Previously, Microsoft Customer Service and Support (CSS) provided support to any non-Microsoft virtualization vendor only through the policy as documented at 897615.

To help give you more of a feeling on how this support will work, consider a situation where you decide to install and run SQL Server in a non-Microsoft virtualization environment. You run into a strange performance problem with SQL Server and need help. You decide to open a case with Microsoft CSS.

Here is the general outline of what we will do:

  • First, you can expect we will need to be more proactive in seeing if you are using virtualization to run SQL Server. Theoretically, it should not matter (that is the hope of virtualization), but to be more efficient to handle your issue, it only make sense for us to understand you are using virtualization.
  • If we think the issue may be related to the virtualization environment (and I suspect performance is certainly one of those areas where this can occur), then we will check to see if your configuration is SVVP certified. Part of this will also involve us checking the hardware is certified for Windows Server 2008 which is a requirement for SVVP certification.
  • Let's say we validate this and believe that the issue is related to your virtualization environment. We will then use a process called TSANet (https://www.tsanet.org/) to open a support incident on your behalf with the virtualization vendor.
  • It is important to note that the virtualization vendor must verify you can receive support through them. So you can imagine if you already have a support contract with your virtualization vendor, this process will go much smoother.
  • If we can't verify the vendor will support you, we will follow the policy as documented in article 897615.

If your non-Microsoft virtualization configuration is not certified by SVVP, we will also follow the process as documented in 897615.

What does the policy for 897615 mean? If you have a Premier Support contract with Microsoft, we will attempt to investigate the problem to some "reasonable" level before asking you to reproduce the problem outside the virtualization environment. If you don't have a Premier contract, we will may immediately request you reproduce the problem outside the virtualization environment.

So what is "reasonable"? It is always somewhat subjective because there is no way to list every possible situation, but basically it means we will look at your problem and try to decide if we can provide you a solution unless we think the issue is related to your virtualization environment. This is generally not an easy thing to do, but I believe the main clues will be if we think the problem is an operating system or "hardware" related issue.

How about an example? Let's say you are encountering a database corruption issue which occurs repeatedly and you need to find root cause. We may perform some basic checks, but if this is occurring in a virtualization environment that is not SVVP certified, we are going to ask you to reproduce this problem outside the virtual machine. If you are SVVP certified, we will engage the virtualization vendor through TSANet to get their assistance on your behalf.

What Should I know about SVVP?

Let me turn back to the SVVP program and provide you a few notes on some things that may not be obvious:

  • First, I encourage you to closely read through the SVVP website and its details.
  • You should know that just because a vendor is listed, it does not mean all of its products are SVVP certified.
  • You must ensure not only the vendor's product is certified but also the configuration it runs on. This translates to what is installed in the virtual machine (also known as the Guest).
  • There may be restrictions on the maximum number of logical processors and memory assigned to the Guest depending on the vendor configuration.
  • In some cases, the Guest machine is only supported for specific architectures such as only x86.
  • The validation only lists Windows Server 2008 as the Guest OS for any of the validated configurations. But if you carefully read the web site, it also says "Products that have passed the SVVP requirements for Windows Server 2008 are considered supported on Windows 2000 Server SP4 and Windows Server 2003 SP2 and later".
  • One thing that may not be obvious is that the hardware you use must be certified for Windows Server 2008 (also know as Windows Server 2008 Logo-qualified). You can see if your hardware meets these requirements at the following link.

Anything Else?

I'm sure you are getting weary reading through this, so anything else? Just a few more points....

  • We don't support Guest Failover Clustering. What's that? It means we don't support any scenario where SQL Server Failover Clustering is used in a hardware virtualization environment.
  • We will support previous versions of SQL Server in any virtualization product per KB Article 897615.
  • We also support Microsoft Hyper-V Server 2008 which is a new product for you to host Hyper-V virtual machines.
  • If you want to know more about best practices for running SQL Server in a Hyper-V environment, check out this whitepaper from the SQLCAT team.

Please no more...can you just summarize it for me?

  • If you use Windows Server 2008 with Hyper-V or Microsoft Hyper-V Server 2008, you are supported for SQL Server 2005 and 2008.
  • If you choose to use a non-Microsoft virtualization solution, check to see that your configuration is SVVP certified. If it is, Microsoft CSS will support you and work with your vendor to help find a resolution to your issue.
  • If your configuration is not SVVP certified, be prepared for Microsoft CSS to ask you to reproduce your problem outside of the virtualization environment should you choose to seek assistance from CSS.

 

Bob Ward
Microsoft