SQL Server Internals and Architecture Overview
4.4 (55 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
374 students enrolled
Wishlisted Wishlist

Please confirm that you want to add SQL Server Internals and Architecture Overview to your Wishlist.

Add to Wishlist

SQL Server Internals and Architecture Overview

A Real World Introduction to SQL Server Internals
4.4 (55 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
374 students enrolled
Created by Mike West
Last updated 2/2016
Curiosity Sale
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
  • 1 hour on-demand video
  • 1 min on-demand audio
  • 8 Articles
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • At the conclusion of this course you'll understand how data is stored.
  • You'll also understand the anatomy of a Page. The fundamental unit of storage in SQL Server.
  • You'll learn how to correctly use several well known but undocumented commands to examine pages.
View Curriculum
  • You'll need to download and install a copy of SQL Server 2012,2014 or 2016. The express edition will do.
  • You'll need a copy of the adventureworks database.
  • All though the tools we will be using are safe, you'll need an environment other than production to test on.

SQL Server is a massive, complex product.

One DBCC command can have over one hundred thousand lines of code.

Once you’ve learned the basics… creating tables, inserting data, backing up databases… then what?

The daily routine of a database developer or DBA often doesn't involve internal structures.

I’ve been driving for 30 years but don’t know the parts to my car’s engine. Well, I’m not mechanic either.

If you want to understand how SQL Server really operates then you have to undertake a study of how the two core engines of SQL Server work with one another.

The storage engine stores data and the optimizer processes queries.

This course will provide you with a solid foundation in storage internals. We are going to cover how data is stored at a very low level.

You’ll learn the vernacular specific to the page and several new commands that will provide us with some deep insight into what any how SQL Server stores data.

We will cover the data row structure and the transaction log and by the end of this course you’ll understand how data moves in SQL Server.

This knowledge will help you troubleshoot SQL Server at a level most DBAs simply don’t grasp. We will look at examples and code syntax to determine what works and what doesn’t.

Any relational database is a collection of objects, the table being the most fundamental.

However, what they are and what they do are two different things. Relational databases have entities called transactions that transfer and manipulate data.

This course will focus on how and what these transactions are moving.

Thanks for you interest in SQL Server Internals.

I’ll see you in the course!!!

Who is the target audience?
  • This is a mid level course for those with a solid foundation in SQL Server.
  • This is not an entry level course.
  • Everything you need for the course will be included in the course.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
34 Lectures
An Introduction to Internals
11 Lectures 16:41

What's this course about?

Let's find out in this intro.

Preview 01:35

Are you at the right place?

I want to make sure this course is right for you.

Preview 01:11

Use the code provided in the course for the examples and demos throughout the course.

Course Downloads

When storing data in SQL Server it's all about the page.

Let's learn about it in this lecture.

Preview 02:07

There are two kinds of system data types in SQL Server.

Let's define them in this lecture.

Preview 01:26

We use two undocumented tools to get a forensic like look at our data structures.

Undocumented just means not supported, these are safe to run on any test box.

Preview 02:23

Row Overflow

Let's take a look to see if SELECT * is really worse than Select column1, column1... etc.

I'll give you the tools in this lesson to find out either way.

Does SELECT * really cause more IO?

Let's conclude what we've learned in this section.


Not that many new terms but understanding what they do is critical to understanding the storage engine.

Let's go over these now.


11 questions
Core Internals
14 Lectures 22:17

Page are grouped together into 8 contiguous rows called extents.

Let's learn about these extents in this lecture.

Extents and Allocation Map Pages

Pages move between the buffer pool and the disk subsystem.

Let's find out the specifics of how they move in this lecture.

How Pages Move

In this lesson we will take a brief look at partitions


Let's demo partitions we learned about in the previous lesson.

Partition Example

What is an allocation unit? Let's find out in this lecture.

Allocation Unit Detail

A heap is a table without a clustered index. Let's learn about it in this lesson

Heap Anatomy

Let's do a demo on how allocations work in a heap.

Heap Allocations

Clustered indexes sort the data on disk. Let's learn about them in this lesson.

Clustered Index Anatomy

Let's take a brief look on clustered index allocations.

Clustered Index Allocations

Let's complete a demo on clustered indexes.

Clustered Index Demo

Let's learn how non-clustered indexes work.

Non-Clustered Index Architecture

Let's look at the overhead caused when altering a table.

Alter Table Overhead

Let's cover a few terms we learned in this section



10 questions
Transaction Log Internals
8 Lectures 22:48

Let's detail the parts of the transaction log.

Transaction Log Architecture Overview

What is an LSN and what are the three sections of numbers that comprise it?

LSN Anatomy

Transaction logs don't continue forever. Let's learn how the wrap around.

The Transaction Log Wraps Around

This is a great function that gives us critical insight into what's in the transaction log.

An fn_dblog Overview

Truncate is indeed logged. Let's learn to what extent it's logged.

Debunking Non-Logged Myths

Let's add another function to find out who dropped an object.

Simple Forensics Using fn_dblog

Let's use a unknown function to dump the entire contents of a physical transaction log.

Dump the Contents of An Individual Transaction Log


10 questions
1 Lecture 00:18
Final Thoughts and a Thank You!!!!!
About the Instructor
Mike West
4.1 Average rating
2,625 Reviews
43,315 Students
40 Courses
SQL Server and Machine Learning Evangelist

I've been a production SQL Server DBA most of my career.

I've worked with databases for over two decades. I've worked for or consulted with over 50 different companies as a full time employee or consultant. Fortune 500 as well as several small to mid-size companies. Some include: Georgia Pacific, SunTrust, Reed Construction Data, Building Systems Design, NetCertainty, The Home Shopping Network, SwingVote, Atlanta Gas and Light and Northrup Grumman.

Experience, education and passion

I learn something almost every day. I work with insanely smart people. I'm a voracious learner of all things SQL Server and I'm passionate about sharing what I've learned. My area of concentration is performance tuning. SQL Server is like an exotic sports car, it will run just fine in anyone's hands but put it in the hands of skilled tuner and it will perform like a race car.


Certifications are like college degrees, they are a great starting points to begin learning. I'm a Microsoft Certified Database Administrator (MCDBA), Microsoft Certified System Engineer (MCSE) and Microsoft Certified Trainer (MCT).


Born in Ohio, raised and educated in Pennsylvania, I currently reside in Atlanta with my wife and two children.