Running your SQL Servers in Virtual Machines (VM) has many benefits compared to running on physical machines. These virtualization-specific tools allow a database administrator (DBA) to easily create, manage, test, back up and recover their SQL Server environment. VMware’s vSphere Platform allows a DBA to fully leverage their hardware resources.
Quick Recovery of SQL Servers even on Standalone ESX Hosts. A SQL Server crash on a physical server is every DBA’s worst nightmare. As long as you perform regular *.vmdk image backups of your SQL Server VMs, you can quickly restore their *.vmdk files to a different ESX host, even if the host is running different hardware. Simply restore the *.vmdk files and start the VM on the new host. This greatly simplifies and shortens the recovery process, by eliminating the need to build a new server, install SQL Server and restore the databases.
Add vCPUs. As you know, SQL Server is a symmetric multiprocessing (SMP) application, so it can take advantage of multiple CPUs on the server. VMware supports up to eight virtual CPUs per VM to give your SQL Server VM near-native hardware performance. For most SQL Server VM’s we suggest configuring the VM with four to eight vCPUs for the best performance; the beauty of this configuration is that you can simply hot-add capacity on the fly to scale up if required. As a general rule, the number of vCPUs should never exceed the number of physical CPU cores on the ESX host.
Snapshots. DBAs often need to perform updates to their SQL Server with service packs, patches, stored procedure updates, maintenance scripts and other tasks. Often these tasks have the potential to take down the SQL Server. Using VMware’s snapshot technology you can take a snapshot of the VM before any updates are performed on the SQL Server. If everything goes smoothly you can incorporate the updates into the base image of the VM. If something goes wrong, you can revert back to the original state of the VM before the updates were installed. This gives you instant recoverability in case any updates do not go smoothly.
Development (Dev) and Quality Assurance (QA) Environments with VMware vCenterLab Manager. DBAs often need to create test environments for Dev and QA. Often it takes longer to create the test environment than the actual use of the test environment. Via a self-service portal, Lab Manager allows developers to create, share and configure their own dev and test environments without having to request these environments from their IT department. These test environments can be used by Test and QA to track down any software bugs that may be environment specific. Lab Manager has APIs for major test and build management tools. Because these test environments live in a virtual world they can be deployed, used and retired without risking the production environment.
Distributed Resource Scheduler (DRS). In a Clustered ESX Environment running the Enterprise package you can implement a DRS. DRS allows you to create resource pools of ESX hosts and VMs. Then you can automatically load balance a group of VMs on a group of ESX hosts. If any ESX host in the cluster gets overloaded, VMs are automatically migrated to other ESX hosts that have lower utilization. This ensures great VM performance without having to figure out which VMs should reside on a given ESX hosts.
There are many advantages to running SQL Server in a VM environment. With very few exceptions, our clients run SQL Servers in heavily loaded SQL Server Production environments as VMs for SQL Servers As long as the virtualization environment is properly designed, the VMs are fast, stable and offer additional benefits over physical servers.