Launch week: the Season Pass & Fundamentals Week are 50% off — ends in 20d 22h 11mSee the sale

How to Set Up Your Training Class Database

Cartoon Brent Ozar holding a coffee mug

When you’re taking my 2026 Fundamentals or Mastering SQL Server classes, you’re going to need your own database to follow along with the labs. The setup is exactly the same for all of those classes, so as long as you’ve set up for any of ’em, you’re good to go.

Here’s how to set it up. You’re going to need:

  • The right Stack Overflow database
  • A SQL Server – you can use your own VM, a cloud VM, Azure SQL DB (any flavor), or Amazon RDS SQL Server
  • Workstation tools: SSMS, the First Responder Kit, and SQLQueryStress

Let’s talk through each piece.

Getting the Stack Overflow database

In class, we use a specific version of the Stack Overflow database that I’ve customized with indexes, procs, etc. I only distribute it via BitTorrent because it’s so large. To download it, install a BitTorrent client, and then open one of these: torrent or magnet. That’ll kick off the download process, which will eventually download 4 12GB backup files. The restored database will be about 200GB in size, and you’ll want more space than that available since you’ll be creating indexes during class – figure 300GB of space altogether.

The download is 4 backup files because if you stripe a backup across 4 files, it generally goes faster (as do the restores.) You’ll need all 4 of them in order to restore the database. If you’re working in a cloud VM, save these backup files on the permanent storage of your VM, not the local ephemeral storage (which is erased each time your VM shuts down.)

The database is only available via BitTorrent due to its size. Please don’t email me asking me to email you a copy: I can’t email 50GB worth of data.

I’m covering this first so you understand roughly the size of data we’re working with.

Setting Up a Database Server

You want something with 4 CPU cores, 32GB RAM, and fast SSD storage because we’ll often be creating indexes, and we want that to happen quickly. You want to install SQL Server 2025 Developer Enterprise Edition (free download) and the most recent Cumulative Update.

There are a bunch of ways you could set this up:

  • On your laptop or desktop – but if you do that, cap how much CPU power and memory SQL Server uses so that your laptop will still be able to watch the class video stream while you work and while the load tests are running.
  • As an AWS VM – in which case I’d recommend size i7i.xlarge with 4 CPU cores, 32GB RAM, and local NVMe SSD storage.
  • As an Azure VM – use the L4s v4 instance type with 4 cores, 32GB RAM, and ~1TB of local NVMe storage.
  • As an Azure SQL DB – of any flavor, including Hyperscale or Managed Instances. Use provisioned capacity with 8 (or more) CPU cores. I say 8 here instead of 4 because in Azure SQL DB, you don’t get enough memory with 4 cores to realistically portray the kinds of workloads we’ll be doing. Don’t use serverless flavors because you’ll lose a ton of diagnostic data each time the database automatically grows or shrinks. (Azure does that by restarting the instance, which clears memory.)
  • As an Amazon RDS SQL Server – use an r8i.xlarge with 4 CPU cores, 32GB RAM, and attach a 300GB EBS volume.
  • You can also use any existing SQL Server 2025 Developer Enterprise instance that you have at your company, like if you’ve got a shared development server. Just keep in mind that we’ll be running workloads against it, so the server will feel sluggish for other folks trying to work on that same server at the same time, and you wouldn’t want to share the same instance between multiple live students at the same time.

Can you use faster hardware? Yep, and as long as you’re not caching the entire database in RAM, you’ll probably still have the same basic challenges that we tackle in all of the classes.

Setting Up Your Workspace

You’re going to be running a couple of apps, SQL Server Management Studio and SQLQueryStress. If you’re using a VM, you can put these tools on that same VM. If you’re using Azure SQL DB or Amazon RDS, or some other remote server, you can put these tools on your local laptop. It’s okay that there’s some network latency between the database server and where you’re querying it from.

Install the most recent SQL Server Management Studio, then connect to your database and install the most recent First Responder Kit scripts – use Install-All-Scripts.sql, or Install-Azure.sql if you’re in Azure SQL DB or Hyperscale.

To generate loads, we’ll be using SQLQueryStress, a easy, free, open source load testing utility. Download the latest release and extract it to a folder. You don’t have to run a setup or anything – it’s just a single .exe file that you can run whenever you want to do a load test.

Then, download my load test files and extract those to the same folder. Your folder will end up looking like this:

SQLQueryStress folder

Optionally, if you have a Github account with Copilot access, configure Github Copilot in SSMS. Some of your class assignments will involve rewriting queries, and that can be a little faster if you have Copilot turned on. If you don’t have it, that’s okay, I’ll also be showing how to use the AI capabilities built into the First Responder Kit, using that to generate prompts, and copy/pasting that into tools like ChatGPT, Claude, and Gemini.

Log into Slack

We do our chat and Q&A in Slack. You can get an invite here and read about how it works. That is the only place we do live chat, so you’ll want to get that set up ahead of time. If your workplace doesn’t allow Slack, you can join from your phone or via the web browser.

And that’s it! See you in class!