Executive Summary:

Choose which server consolidation method is right for you: virtual machines or multiple SQL Server instances. Mike Otey walks you through factors to consider for your organization.


Deciding on a server consolidation method can be a confusing process. After reading my article, “VMs vs. Multiple SQL Server Instances,” December 2007, InstantDoc ID 97439, several readers contacted me wanting to know more about the two consolidation methods. Let’s take a look at more factors you should consider when choosing between virtualization and multiple SQL Server instances.

One primary difference between the two server consolidation methods is that virtualization is a server-level technology while multiple instances is an OS-level technology. If you’re running multiple SQL Server instances, all of those instances must run on the same Windows Server OS. Virtualization enables much more granularity because each virtual machine (VM) requires its own OS. For example, one VM might be running Windows Server 2003 with SQL Server 2005, while another VM on the same server could be running Windows 2000 and SQL Server 2000.

Considering multiple OSs and SQL Server installations leads to the next important factor: licensing. SQL Server 2005 Enterprise Edition supports up to 50 instances with no additional licensing costs. In this scenario, with a single server you’d have to purchase a license for the Windows Server OS, a license for SQL Server, and CALs. With virtualization, you typically need to purchase a license for each Windows Server OS that runs in a VM and a license for each SQL Server installation. So if you’re running five VMs, and each includes a copy of Windows Server and SQL Server, you’d need to purchase five Windows Server licenses, five SQL Server licenses, and the CALs. However, Windows 2003 R2 and Windows 2003 Enterprise Edition allow up to four instances of Windows at no additional cost. The more expensive Windows 2003 Datacenter Edition allows an unlimited number of virtual Windows instances. Similarly, the Enterprise Editions of SQL Server 2008 and 2005 allow for an unlimited number of SQL Server VM installations.

Other factors to consider are management and disaster recovery. Managing multiple SQL Server instances is a bit easier than managing VMs because the instances are all on the same OS. Virtualization offers more options in disaster recovery, and restoring VM images is faster than performing a bare-metal restore

Ownership and responsibility are the most important factors to consider. The responsibility for running multiple SQL Server instances typically falls on the team that owns the SQL Server system. With virtualization, each team or department can more easily retain the responsibility for their OS and SQL Server installation.

Remember, server consolidation isn’t strictly an either-or case. You can combine multiple SQL Server instances and virtualization by running multiple SQL Server instances within a VM. What are your thoughts regarding SQL Server instances and virtualization?