SQL Server

Row Versioning in SQL Server

Row versioning fundamentally changes how SQL Server handles read operations during write transactions. Instead of blocking, SQL Server can serve a previous version of the row. We enable row versioning in SQL Server by turning on READ_COMMITTED_SNAPSHOT ISOLATION (RCSI). In this post we will demonstrate blocking without row versioning and…


Concurrency: Phantom Reads

A closer look at the Serializable Transaction Isolation Level and how it could prevent Phantom Reads concurrency issues in SQL Server.



Concurrency: Lost Updates

A closer look at the Read Committed Transaction Isolation Level and how it could allow Lost Update concurrency issues in SQL Server.


Concurrency: Dirty Reads

A closer look at the Read Uncommitted Transaction Isolation Level and how it could allow Dirty Reads in SQL Server.


What are Locks?

Explore SQL Server locks for transaction isolation to prevent data inconsistencies and ensure smooth database operations.


Transaction Isolation Levels

Transaction Isolation Levels are used to control data access concurrency. Concurrency controls can be Pessimistic or Optimistic.


What are Transactions?

Understand Transactions in SQL Server and their role in maintaining data integrity and enforcing the ACID properties.


Restore and Recovery

The restoration process of a SQL Server database passes through two phases: Restore and Recovery.


Writing T-SQL Queries

In late 2018, I recorded a series of videos for APRESS publishing on how to write T-SQL Queries. (I have linked to the O’Reilly website below.) There are four titles in the series with each title about 45 minutes in length. The first is how to write a T-SQL SELECT…