SQL Server in Virtual Machines: Myth or Reality?

Home > Blogs > SQL Server > SQL Server in Virtual Machines: Myth or Reality?

SQL Server in Virtual Machines: Myth or Reality?

Like This Blog 0 Don Jones
Added by May 21, 2013

Can SQL Server live inside a virtual machine?

Yes and no. There are certainly reasons to do so, such as the ease of constructing high-availability databases that don’t involve the complexity and expense of Windows Clustering (for example, using virtualization-based availability technologies from companies such as VMware and Marathon Technologies). Virtualization is the Great Consolidator when SQL Server Sprawl has gotten out of hand in your organization. Virtualization is also a great way to add business agility: With a well-designed infrastructure, you can move a busy SQL Server virtual machine to a host that has more free capacity, increasing SQL Server’s performance on the fly. Need to add a processor to SQL Server? Just shut down the virtual machine, add a virtual proc, and start it back up again. Easy.

But can virtualization handle SQL Server?

In the bad old days, no. At least not well. But today’s hypervisors are not only better, they’re running, in most cases, on top of hardware that’s been specifically designed to handle virtualization. All of the latest Intel and AMD server-class processors have virtualization extensions built right in, enabling them to do a very credible job of running SQL Server inside a virtual machine. It also helps that server memory is insanely cheap these days, making it pretty affordable to configure a server with 128GB of memory.

You do have to be careful, though. For example, memory overcommit capabilities let a virtualization host satisfy SQL Server’s thirst for RAM when SQL Server’s busy, and dynamically re-allocate that physical RAM to another virtual machine when SQL Server is a bit idle. At least, that’s the theory: In reality, SQL Server will tend to use as much memory as your virtual machine has, and performance will suffer if there’s not an exact, dedicated amount of physical memory to back up that virtual configuration. Not overcommitting memory where SQL Server is concerned is one of the little “tricks of the trade” that let SQL Server hum within a virtual machine.

Getting access to multiple processors is also a huge deal. Start using a fault tolerance platform like VMware’s vSphere FT, for example, and you lose multi-processor capabilities (FT can only sync one processor per virtual machine). All the rules for configuring a physical SQL Server computer apply to virtual machines, and “multiple processors” is one of the big rules.

You can also look for the “low hanging fruit” in your SQL Server lineup when it comes to virtualizing servers. For example, many DBAs start by virtualizing the sprawl-related SQL Server instances that they wish they didn’t have in the environment, anyway: The one someone installed to support some log-archival application, for example, or the SQL Server Express instance that’s running somebody’s project database. Those databases don’t need “big iron,” and they’ll live quite happily within a virtual machine. Start from the bottom, workload-wise, and work your way up. Test and monitor as you go, and you’ll find the balance between which SQL Server machines can be virtualized, and which ones legitimately need an entire physical server to themselves.

Enjoy,

Don Jones
PowerShell and SQL Instructor – Interface Technical Training
Phoenix, AZ

Videos You May Like

Agile Methodology in Project Management

0 153 0

In this video, you will gain an understanding of Agile and Scrum Master Certification terminologies and concepts to help you make better decisions in your Project Management capabilities. Whether you’re a developer looking to obtain an Agile or Scrum Master Certification, or you’re a Project Manager/Product Owner who is attempting to get your product or … Continue reading Agile Methodology in Project Management

JavaScript for C# Developers – September 24, 2014

0 487 3

Is JavaScript worth taking the time to learn if I’m a server-side .NET developer? How much of C# carries over to JavaScript? In this recorded video from Dan Wahlin’s webinar on September 24,2014, Dan answers these questions and more while also discussing similarities between the languages, key differences, and the future of JavaScript (ES6). If … Continue reading JavaScript for C# Developers – September 24, 2014

Detailed Forensic Investigation of Malware Infections – April 21, 2015

4 608 5

How does an investigator hunt down and identify unknown malware? In this recording of our IT Security training webinar on April 21, 2015, Security expert Mike Danseglio (CISSP / CEH) performed several malware investigations on infected computers and identify symptoms, find root cause, and follow the leads to determine what’s happening. He demonstrated his preferred … Continue reading Detailed Forensic Investigation of Malware Infections – April 21, 2015

Write a Comment

Share your thoughts...

Please fill out the comment form below to post a reply.