SQL Server Internals and Architecture Overview
3.8 (166 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
993 students enrolled

SQL Server Internals and Architecture Overview

A Real World Introduction to SQL Server Internals
3.8 (166 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
993 students enrolled
Created by Mike West
Last updated 2/2016
English [Auto-generated]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 1 hour on-demand video
  • 1 min on-demand audio
  • 8 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll 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.
  • 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 this course is for:
  • 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.
Course content
Expand all 34 lectures 01:01:59
+ An Introduction to Internals
11 lectures 16:38

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:14

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
+ Conclusion
1 lecture 00:18
Final Thoughts and a Thank You!!!!!