Building a SQL Server Virtual Lab in Windows: Virtualization Concepts
Author: JP Chen | | June 2, 2020
Pilots go through training in machines designed to resemble the cockpit of an aircraft with mechanisms that move the entire structure in imitation of an aircraft’s motion. These machines are known as flight simulators. Just like pilots have flight simulators, SQL Server Database Administrators (SQL DBAs) can build their test network environments to simulate the production environment for SQL Server High Availability and Disaster (HADR) testing purposes.
In the not-so-distant past, building a test network for SQL Server HADR testing comes with a hefty price tag along with physical servers and extra space for the server rack. With the advent of virtualization in the early 2000s, the computing world changed for good. Nowadays, you can download all the required evaluation software for free and building the test network on your desktop or laptop.
In this blog series, I will build a test network consists of a Windows Server 2019 Domain Controller and three Windows Server 2019 Servers with SQL Server 2019 installed for HADR testing – a virtual lab. The series topics covered will include:
- Virtualization concepts
- Virtual network for the virtual lab
- Software and hardware requirements
- Installing Oracle VM VirtualBox
- Creating the Domain Controller (DC) VM
- Creating the SQL Server VMs
- Configuring the SQL Server VMs
- Testing the virtual lab
Today I’ll start with virtualization concepts but look for the remaining topics to be published weekly over the course of the next several weeks. Let’s get started!
Virtualization in computing is the process of using a hypervisor software installed on a host computer that enables you to create and run virtual machines (VMs) and computer networks. The hypervisor is responsible for abstracting resources to hide the underlying hardware, create and manage virtual machines, and schedule resources. The underlying hardware include CPU, memory, disk, and Network Interface Card (NIC). For example, Figure 2-1: Virtualization Concepts shows 4 VMs also known as guests created on a computer also known as host. Each of the VMs share the underlying hardware make available by the host through the hypervisor.
Figure 2-1: Virtualization Concepts
The concept of virtualization is applied universally for different goals. Servers and networking and testing environments usually are the two most common ones. Our goal in this chapter is building a virtual lab running on a Windows Server 2019 Domain for SQL Server 2019 HADR testing. You can visualize the virtual lab as shown in Figure 2-2: Virtual Lab. The host computer is your desktop or laptop. VM01, VM02, VM03, and VM04 are the VMs in the virtual network of the virtual lab and they are all installed and configured inside your host computer.
Figure 2-2: Virtual Lab
Just like SQL Server Administration are the core responsibilities of SQL DBAs, Windows Administration activities are best handled by Windows Administrators. While you will play the role as a Windows Administrator in building the virtual lab, the core knowledge and competency of Windows Administration is beyond the scope of this blog series. We will go over some of the key terms on a high-level overview and you can further review and research them as needed.
Supporting SQL Server is a team support. In addition to playing well with your fellow SQL Server DBAs, you will also need to get along with the Windows team, Network team, Development team, Storage team, Management team, etc. You can’t be the Jack of all Trades.
In the next blog, we will cover “virtual network for the virtual lab.” Please stay tuned.
The “ORA-12154: TNS Oracle error message is very common for database administrators. Learn how to diagnose & resolve this common issue here today.
Not everybody knows what a Database Administrator does. Learn here what DBA job responsibilities are so you can see the depth and breadth of their tasks.
Learn how to fix common Log Shipping Failure errors in SQL Server. Follow Datavail’s step-by-step instructions, screenshots, and software script here!