SQL Server Virtualization
If you have many underutilized SQL Servers scattered across your enterprise, virtualization or some other form of server consolidation probably makes sense. However, there are alternatives to virtualization that allow you to consolidate your sql servers. Some of those alternatives can save you a bundle in licensing costs compared to virtualization.
We will examine the pros, cons and relative costs of the various options below.
There are several benefits in consolidating your servers, but the core benefit is the elimination of the waste represented by underutilized hardware. Before deciding whether or not a database instance should be consolidated, ask yourself this question: Are the available resources of the physical machine currently underutilized?
If SQL Server is using most or all of the available resources, there is little waste and the principle benefit of consolidation is not there. Consolidation is likely to lead to performance problems in the case of large, active enterprise databases.
In any server consolidation scenario, it is necessary that the physical server have the power to handle the load imposed on itthe load on the physical server will be the sum of the resource usage of every virtual server that you put on it.
No consolidation option enhances the power of the underlying hardware. In fact, virtualization adds a significant bit of overhead to further reduce the resources available to the virtual machines.
Named instances may save licensing costs
Here is what the Microsoft Licensing Update says about SQL Server in its October 2006 document Licensing Microsoft Server Products with Microsoft Virtual Server and Other Virtual Machine Technologies.
“If you run the software in virtual OS environments, you need a license for each virtual processor used by those virtual OS environments on a particular server—whether the total number of virtual processors is lesser or greater than the number of physical processors in that server.”
I read this to mean you need a SQL Server license for each virtual processor used in each virtual server even when that totals to more processors than exist on the physical server. Let’s compare that to consolidating your SQL Server machines by making them all named instances on the same physical server.
You are allowed to install up to 16 SQL Server instances on the same physical server under a single SQL Server license. Each instance is an independent database server having its own administrators, users, configuration and security. To duplicate this environment by means of virtualization would likely cost a great deal more for licenses. As an added bonus, with named instances you would not pay the performance penalty for virtualization overhead.
But what is missing from named instances? Virtual machines can be assigned maximum resource usage limits to keep a rogue SQL instance from hogging resources and starving the other instances. Named instances can be limited in the memory that they can access, but the resource throttling is undeniably better in a virtual instance.
Portability is also much better with a virtual server. Backup and recovery of the complete virtual machine makes a virtual server portable and easy to set up elsewhere in the event of a disaster. Recovering named instances is more difficult and sometimes requires reinstallation and reconfiguration of the hardware and OS.
Both virtualization and named instances have a single point of failure in the underlying hardware. For example, if your motherboard goes bad, all of your database servers are down.
Consolidate Databases, Not Servers.
A single SQL Server installation can run thousands of different databases under a single license (although more than a few hundred is not generally a good idea). In some environments, the problem of database server sprawl can be solved very simply by moving databases from several SQL Servers onto a single SQL Server.
The downside to consolidating databases is that you do not get the separation of responsibility, management functions, server security policy, individual server configurations, etc that you have with virtual servers.
And of course, as in virtualization and named instances, the physical hardware has to be able to handle the increased load without performance degradation.
Virtualization is often, but not always, the best solution for consolidating database servers. But each environment has different requirements. You need to consider carefully what your objectives are and what form of consolidation makes the most sense for you.