Paul Randal

Paul S. Randal (Paul@SQLskills.com, twitter @PaulRandal) is a world-renowned speaker, author, and instructor at SQLskills.com; he is also the CEO. He worked on the SQL Server Storage Engine team at Microsoft from 1999 to 2007, writing DBCC CHECKDB/repair for SQL Server 2005 and with responsibility for the entire Core Storage Engine during SQL Server 2008 development. Paul is an expert on disaster recovery, high availability, SQL Server internals, and database operations, and is a regular presenter at conferences worldwide. He owns and runs the company with his wife, Kimberly L. Tripp, and in their spare time they like to seek out odd-shaped bottom dwellers at remote dive sites around the world!
  • Interests: Doing anything with my wife, Kimberly Tripp: Sailing Scuba diving World travel Hiking Naval history Model building

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