StraightforwardSQL

Blog Post

Inspecting TSQL Abstract Syntax Trees

TSQL ScriptDOM is a useful library for parsing scripts into an abstract syntax tree. I've built a web tool that helps visualize this tree as a learning exercise.
Foreword
I've leveraged...

2025-12-03 (first published: )

107 reads

Blog Post

KDA: Echoes of Deception - Case 3

The crime spree in Digitown is not ending. This time 20 cars have been stolen and we need to find where they’re stored.
The problem
This is the abridged case description....

2025-06-09 (first published: )

273 reads

Blog Post

KDA: Echoes of Deception - Case 2

The people of Digitown are being targeted by phishermen, and they need my help to stop them in their tracks.
The problem

The police have asked for our assistance, and we’ve...

2025-06-02 (first published: )

195 reads

Blog Post

KDA: Echoes of Deception - Case 1

Another KDA case: Digitown’s utility bills suddenly doubled for no good reason. With the election coming up, I got pulled in to figure out what went wrong. I’ve got...

2025-05-30 (first published: )

197 reads

Blog Post

Kusto Detective Agency - Intro

While I mostly write about SQL Server, I have a soft spot for Kusto. In this series, I will explore solutions to fun challenges collectively known as the Kusto...

2025-04-27 (first published: )

102 reads

Blog Post

Deploy at Low Priority

Learn how to deploy schema changes in an always-online SQL Server environment without a maintenance window. This utility reduces blocking and improves deployment success.
The problem
I attempted to deploy a...

2025-03-19 (first published: )

196 reads

Blog Post

Finding nested references

I originally planned this post just as an answer to DBA Stack Overflow question: How can I get the list of tables in all the stored procedure? After preparing...

2024-09-13 (first published: )

262 reads

Blogs

Why Optimize CPU for RDS SQL Server is a game changer

By

One feature that I have been waiting for years! The new announcement around optimize...

Performance tuning KubeVirt for SQL Server

By

Following on from my last post about Getting Started With KubeVirt & SQL Server,...

T-SQL Tuesday #193 – A Note to Your Past, and a Warning from Your Future

By

I haven’t posted in a while (well, not here at least since I’ve been...

Read the latest Blogs

Forums

Refactoring SQL Code

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Refactoring SQL Code, which is...

The Read Committed Snapshot Isolation behaviour

By Alessandro Mortola

Comments posted to this topic are about the item The Read Committed Snapshot Isolation...

Working with JSON/JSONB Data in PostgreSQL using Python

By sabyda

Comments posted to this topic are about the item Working with JSON/JSONB Data in...

Visit the forum

Question of the Day

The Read Committed Snapshot Isolation behaviour

I am currently working with Sql Server 2022 and AdventureWorks database. First of all, let's set the "Read Committed Snapshot" to ON:

use master;
go

alter database AdventureWorks set read_committed_snapshot on with no_wait;
go
Then, from Session 1, I execute the following code:
--Session 1
use AdventureWorks;
go

create table ##t1 (id int, f1 varchar(10));
go

insert into ##t1 values (1, 'A');
From another session, called Session 2, I open a transaction and execute the following update:
--Session 2
use AdventureWorks;
go

begin tran;
update ##t1 
set f1 = 'B'
where id = 1;
Now, going back to Session 1, what happens if I execute this statement?
--Session 1
select f1
from ##t1
where id = 1;
 

See possible answers