Virtualization is one of the most rapidly growing technologies in IT today. Driving this growth is virtualization’s ability to decouple the server from the underlying hardware, letting you run multiple virtual machines (VMs) on a single hardware platform and easily move the VMs (along with their underlying guest OS and servers) to different hardware platforms. Many organizations have adopted this technology as a server consolidation method. But virtualization isn’t the only way to consolidate servers. Every release since SQL Server 2000 can support multiple SQL Server instances on the same system—unlike other Microsoft server products.
Multiple server instance support in SQL Server essentially lets you run multiple occurrences of SQL Server’s database engine on the same server. SQL Server 2005 Enterprise Edition supports up to 50 server instances. ISPs and other hosting scenarios often use multiple SQL server instances so that multiple clients can each have control of their own SQL Server database server without a dedicated hardware platform. So how do virtualization and multiple SQL server instances compare?
The first, and in many cases the most important, factor to consider is performance. Because of their nature, virtualized servers don’t provide the same level of performance as a physical machine because the virtual environment creates additional overhead that takes away from performance. Most estimates put VM overhead at about 10-15 percent. In a server consolidation environment, the impact will be even greater because of the workloads supported by the other VMs. In contrast, server instances run on the physical hardware and, aside from whatever workload might be generated by the queries running on the server instance, there is no additional overhead.
Virtualization and server instances are similar in their administrative aspects, but running multiple SQL server instances has a couple of advantages. Because there’s only one installation of the OS and the server software, server instances require less patching. With virtualization, each VM has its own guest OS and server products, which must be managed and patched. In both solutions, hands-on server management tasks are performed using Enterprise Manager or SQL Server Management Studio.
In terms of deployment and recovery, virtualization has an edge on its competition. With virtualization, you can build base images that can be deployed to a new server in a matter of minutes. Then, a VM image can be backed up or replicated to a remote site and, in the event of a failure, could be brought in-line in minutes or even seconds.
Another factor to consider is licensing. Multiple SQL server instances don’t require any additional SQL Server licenses. For virtualization, each SQL Server system that’s running in a guest VM must be licensed—unless you’re running SQL Server 2005 Enterprise Edition, which provides unlimited VM usage.
The bottom line is that both methods can be effective solutions for server consolidation. To help you decide which solution is right for you, see the resources listed in this month’s Your Savvy Assistant. But remember, just because virtualization is today’s hot technology doesn’t mean that it’s the only game in town.