Skip to content
UdemySqlPaid courseExpert levelCertificate

Advanced SQL Server Transaction Log Analysis (Udemy.com)

Deciphering the Contents of the SQL Server Transaction log

Created by: Mike West

Last updated January 2017

icon
What you will learn

  • By the end of this course you'll be able to read any SQL Server transaction log.
  • You'll also be able to make forensic level analysis of the events in a SQL Server.

icon
Course Description

COURSE REVIEWS:

Thanks Mike. Absolutely fantastic. Learnt so much. Clearly presented with excellent use of technology to demonstrate the key points. It covered many aspects of SQL Server not just SQL syntax and gave practical demonstrations of every subject covered. Brilliant. -- Mr Dave Morgan

"A very succinct introduction to the SQL Server transaction log. A must for anyone wishing to understand the function of the transaction log and learn how to explore its contents within the space of an hour or two." -- Stylianos

"Great" -- Richard   

"The explanation was very simple and easy to understand." -- Mansoor

"Very good forensic procedures." -- Thomas

"Thanks very much, nice course" -- Stanislaw

"Great explanation and very representative examples." -- Roman

"I am learning a lot about SQL Server Transaction Log Analysis." -- Debora

"Concise review of basic SQL premises along with log analysis at current and file levels. Good course." -- Mike H

"Excellent material and quick to the point!" -- Nick Y.

COURSE INTRODUCTION: 

Welcome to Advanced SQL Server Transaction Log Analysis.    In this course, we are going to take a deep dive into analyzing the transaction log.  The SQL Server transaction log contains the history of every action that modified anything in the database.   

Before data is written or saved on disk a copy or record of that transaction is first written to the transaction log.   

This is part of the D in the ACID properties. Recall that D stands for durability and durability is the ACID property which guarantees that transactions that have committed will survive permanently.   

For example, if a flight booking reports that a seat has successfully been booked, then the seat will remain booked even if the system crashes.   This process in SQL Server is accomplished by WAL or Write Ahead Logging.   

SQL Server uses a write-ahead log (WAL), which guarantees that no data modifications are written to disk before the associated log record is written to disk.   

No matter what you’ve read about non-logged operations the truth is that every user transactions that modifies an internal SQL Server object is logged.   

In the course we will learn how WAL works for SQL Srever and some internal architecture on how this is accomplished.   

Thanks for your interest in Advanced SQL Server Transaction Log Analysis and we will see you in the course. 

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Mike West

I'm the founder of LogikBot. I've worked at Microsoft and Uber. I helped design courses for Microsoft's Data Science Certifications. If you're interested in machine learning, I can help.

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. 

Over the last five years I've transitioned to the exciting world of applied machine learning.  I'm excited to show you what I've learned and help you move into one of the single most important fields in this space.

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  

icon
More courses by Mike West

$64.99

Free

$74.99

$69.99

$54.99

$54.99

icon
More SQL courses

$94.99

$19.99

$84.99

$59.99

$129.99

$149.99

icon
Reviews

4.6

1,347 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By CyGNUS Cursos on 7/21/2025

Straight to the point, hand to hand learning and very practical, this is what an SQL course should look like

By Momin Khalil on 4/12/2025

Great course to the point sweet and short. I loved it. Needed to quickly learn how to navigate the transaction log and this course taught me that.

By Jean-Christophe on 5/25/2020

A very light and superficial course. Sometimes it is even wrong: truncate is not heavily logs, in your case, it creates 12 lines but it is a fixed amount of lines so if you delete 1bn rows it is very minimal. No explanation for the .bak result despite the fact that there is one...

By Stylianos Posantzis on 3/20/2020

A very succinct introduction to the SQL Server transaction log. A must for anyone wishing to understand the function of the transaction log and learn how to explore its contents within the space of an hour or two.

By Jacob Andrew Wilkins on 9/24/2019

This is a decent introduction to poking around the transaction log, and is worth the small time investment. There are a few inaccuracies, though. First, in lecture 9, the explanation provided for the absence of LOP_BEGIN_XACT records after a checkpoint is that they were "hardened" or "written to the log", which is incorrect. fn_dblog does show hardened log records. The trick is that by default the log reader only shows the active portion of the log (this can be changed with a trace flag as indicated by Paul Randal at https://www.sqlskills.com/blogs/paul/using-fn_dblog-fn_dump_dblog-and-restoring-with-stopbeforemark-to-an-lsn/). In quiz 2, a question asks how many LOP_BEGIN_XACT records will be produced by inserting 5 rows. This question does not fully determine an answer. If the 5 rows are inserted one by one as autocommitted transactions (as in the video), then the desired answer of 5 is correct. However, if the 5 rows are inserted as part of a single transaction (either because all 5 rows are inserted by a single statement or because multiple insert statements occur in a single transaction) then there will be only 1. The 5 rows could really be straightforwardly inserted as any number of transactions between 1 and 5. Finally, the description of intent locks is misleading at best. Intent locks are not some sort of pre-lock that suggests maybe we will take a lock later and maybe we won't. An intent locks is an actual lock that is requested and granted and can conflict with other requested and granted locks. The "intent" is not that maybe a real lock will be taken later, but that a more restrictive non-intent lock will be taken on an object lower in the lock hierarchy (e.g., when a row is deleted SQL Server might choose to take very real IX locks on the table and page and an X lock on the row). This allows SQL Server to take the more restrictive locks at the most granular level feasible, thus maintaining the desired level of isolation while allowing more concurrency than if non-intent locks had to be taken at every level in the lock hierarchy. Overall, this course does a fairly good job of introducing fn_dblog and fn_dump_dblog, but gets some details wrong along the way.

By Matheus Rosa Castanheira on 5/11/2019

Useful information for beginners on Transaction Log Analysis. I would not say this is an Advanced presentation, since it merely introduces the topic.

By Anthony on 12/5/2017

The course material is directly applicable to the real world which I really liked. I really liked the section on 'whodunnit' as this is something I've never known how to do before.

By MesillaGuy ... on 4/30/2017

I learned a great deal of information that I've never seen presented before. Very good presentation with real-world lab examples.

By Thomas Lowry on 4/6/2017

Now I know who dropped my table so I can beat them with a big stick! On a serious note whilst this course was short it was jam packed with useful examples that are applicable to real world scenarios, I learnt may nifty things that will definitely make life easier and I will be using them often. Thanks again Mike for another awesome course!

By Doug Alderson on 2/1/2017

Mike has produced a great course that fully explains the SQL transaction process in a clear and concise method.

Showing all 10 reviews on CourseDuck

Read all 1,347 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100