Brent Ozar
banner
brento.bsky.social
Brent Ozar
@brento.bsky.social
I make databases go faster. I love teaching, travel, laughing, and collecting vintage sports cars. Las Vegas. He/him, pan.
Act Fast: The Holiday Speed Round Sale Starting at $129

This holiday season, we're running a sale specifically for fast learners. For record-low prices, get access to my SQL Server and Azure SQL DB training classes - but only for 3 months. If you're confident you can get your learn on quick, this…
Act Fast: The Holiday Speed Round Sale Starting at $129
This holiday season, we're running a sale specifically for fast learners. For record-low prices, get access to my SQL Server and Azure SQL DB training classes - but only for 3 months. If you're confident you can get your learn on quick, this is for you! But you better be prepared to move fast. The sale ends December 31, and you'll have just 3 months access to the classes.
www.brentozar.com
December 5, 2025 at 1:15 PM
[Video] Office Hours: Fireside Chat Edition

It's the perfect time of year in Las Vegas when we can chill outside by the fire, enjoy a glass of wine, and go through your top-voted questions from Here's what we covered: 00:00 Start 00:54 iliyan Rashev: Hello Brent, I am on SQL Server 2019 RTM Please…
[Video] Office Hours: Fireside Chat Edition
It's the perfect time of year in Las Vegas when we can chill outside by the fire, enjoy a glass of wine, and go through your top-voted questions from Here's what we covered: 00:00 Start 00:54 iliyan Rashev: Hello Brent, I am on SQL Server 2019 RTM Please recommend a patching path: 1. Apply CU32+latest Sec.update 2. Apply only latest Sec.update In other words using the 2nd approach will be faster,but do I get all the previous fixes from CU32 that contain all fixes from previous CUs?
www.brentozar.com
December 4, 2025 at 1:15 PM
Niko's back to blogging about columnstore after a 5 year hiatus! What's Missing in SQL Server Columnstore Indexes in 2026: www.nikoport.com/2025/12/03/c...
Columnstore Indexes – part 132 (“What’s missing in Columnstore indexes in the year 2026”)
Continuation from the previous 131 parts, the whole series can be found at After spending some time thinking about the best way to come back to writing about Columnstore Indexes, after 5 and half y…
www.nikoport.com
December 4, 2025 at 1:05 PM
This comes up all the time in clients that need to archive or purge data: How to Delete Just Some Rows from a Really Big Table: Fast Ordered Deletes www.brentozar.com/archive/2018...
How to Delete Just Some Rows from a Really Big Table: Fast Ordered Deletes - Brent Ozar Unlimited®
Say you’ve got a table with millions or billions of rows, and you need to delete some rows. Deleting ALL of them is fast and easy – just do TRUNCATE TABLE – but things get much harder when you need…
www.brentozar.com
December 2, 2025 at 6:05 PM
Get ChatGPT’s Advice On Your Queries with sp_BlitzCache.

First off, I understand if you read the headline and you have a knee-jerk reaction. I totally understand that there are a lot of people out there who hate AI, and believe me, I hate most uses of it. Lots of its advice can be misleading at…
Get ChatGPT’s Advice On Your Queries with sp_BlitzCache.
First off, I understand if you read the headline and you have a knee-jerk reaction. I totally understand that there are a lot of people out there who hate AI, and believe me, I hate most uses of it. Lots of its advice can be misleading at best, and absolute garbage at worst. I watch conference keynotes by big companies and I just roll my eyes at all the AI bullshit.
www.brentozar.com
December 2, 2025 at 1:16 PM
For an upcoming blog post.
December 1, 2025 at 1:05 PM
sarchasm (noun): the distance between your level of seriousness and my retort
November 26, 2025 at 6:05 PM
The SQLBits call for speakers is out! Their speaker guidance is quite detailed, sitting down with a cup of coffee to absorb it and start thinking about the sessions I wanna submit: sqlbits.com/speak/
Speak
Find out more about joining the annual line up of world-class speakers at SQLBits.
sqlbits.com
November 26, 2025 at 1:21 PM
Query Exercise Answer: Generating Big TempDB Spills

In last week's Query Exercise, I challenged you to play some code golf to generate big spills with tiny T-SQL. Today, I'm going to walk you through my thought process - the initial attempts I tried and failed with, and the discoveries I made…
Query Exercise Answer: Generating Big TempDB Spills
In last week's Query Exercise, I challenged you to play some code golf to generate big spills with tiny T-SQL. Today, I'm going to walk you through my thought process - the initial attempts I tried and failed with, and the discoveries I made along the way, because I think it makes for fun storytelling. In the past, when I've seen people trying to generate a lot of data quickly, they've cross-joined SQL Server's built-in system tables like sys.all_objects or sys.all_columns.
www.brentozar.com
November 26, 2025 at 1:17 PM
I can't believe I have to say this out loud, but no, that NOLOCK hint on the table you're doing an UPDATE or DELETE on isn't helping. learn.microsoft.com/en-us/sql/t-... (And I've run into this 3 times in the last 3 weeks.)
November 25, 2025 at 1:05 PM
This Is It! Our Black Friday Sale Ends Sunday.

You work with Microsoft SQL Server, Azure SQL DB, and Amazon RDS SQL Server. When people call in saying the server is slow, you're the one who has to take the call. It's up to you to figure out the bottleneck, which queries are causing that…
This Is It! Our Black Friday Sale Ends Sunday.
You work with Microsoft SQL Server, Azure SQL DB, and Amazon RDS SQL Server. When people call in saying the server is slow, you're the one who has to take the call. It's up to you to figure out the bottleneck, which queries are causing that bottleneck, what changes to make to the queries, and whether index or server-level tweaks can help.
www.brentozar.com
November 24, 2025 at 1:16 PM
Reading about how Postgres 18 does index skip scans made me wonder whether Microsoft SQL Server has that feature, and boom, there goes an hour of my life writing demos. Next up, adding a module to the Mastering Index Tuning class to talk through it. www.pgedge.com/blog/postgre...
pgEdge
Fully distributed PostgreSQL
www.pgedge.com
November 21, 2025 at 6:05 PM
The First SQL ConstantCare Badges Just Went Out

Ever wonder how big your database estate is compared to others? Whether you've got more servers, more databases, more workloads, or more problems? Well, if you're one of my SQL ConstantCare® customers, check your email: our first set of badges just…
The First SQL ConstantCare Badges Just Went Out
Ever wonder how big your database estate is compared to others? Whether you've got more servers, more databases, more workloads, or more problems? Well, if you're one of my SQL ConstantCare® customers, check your email: our first set of badges just went out! With SQL ConstantCare®, your SQL Servers send us diagnostic data once per day, and our systems analyze it and email you specific, actionable recommendations to make your databases faster and more reliable.
www.brentozar.com
November 21, 2025 at 3:02 PM
WATCH AS WINDOWS INTEGRATES LOTUS 1-2-3 WITH MIAMI VICE www.youtube.com/watch?v=jW8t... WAIT DON'T ANSWER
Steve Ballmer Sells Windows 1.0
www.youtube.com
November 21, 2025 at 1:05 PM
The first few answers are coming in, and it's fun to see people working through it: T-SQL Query Exercise: Generate Big Spills www.brentozar.com/archive/2025...
T-SQL Query Exercise: Generate Big Spills - Brent Ozar Unlimited®
When I was testing SQL Server 2025’s new ability to limit TempDB usage with Resource Governor, I wrote a few fun diabolical demos. One of them was to generate giant spills to TempDB, quickly. When…
www.brentozar.com
November 20, 2025 at 6:05 PM
Functions in the WHERE Clause Are Bad… Right?

Nah, not necessarily. SQL Server's query optimizer behavior keeps changing with every freakin' version. Let's illustrate it with a simple query against the Stack Overflow Users table: CREATE INDEX Location ON dbo.Users(Location); GO SELECT COUNT(*)…
Functions in the WHERE Clause Are Bad… Right?
Nah, not necessarily. SQL Server's query optimizer behavior keeps changing with every freakin' version. Let's illustrate it with a simple query against the Stack Overflow Users table: CREATE INDEX Location ON dbo.Users(Location); GO SELECT COUNT(*) FROM dbo.Users WHERE Location = N'Ahmadabad, India' OPTION (RECOMPILE); Because there are a lot of people in Ahmadabad, SQL Server gets that estimate correct, which is really important when you start joining this table to other tables, like finding their number of comments or posts:
www.brentozar.com
November 20, 2025 at 1:15 PM
term of the day: vibe dbaing
November 20, 2025 at 1:05 PM
sure you decorate but if you don't put the Christmas Lo-Fi Girl stream on 24/7 are you even alive www.youtube.com/watch?v=C4qJ...
christmas lofi music🎄cozy radio to get festive to
YouTube video by Lofi Girl
www.youtube.com
November 20, 2025 at 9:53 AM
Everything's going wrong today, so screw it - I'm quitting work at 3PM, having a glass of wine, and answering your database questions live on the stream, starting now: twitch.tv/brentozar
BrentOzar - Twitch
Office Hours: Ask Me Anything About SQL Server and Azure SQL DB
twitch.tv
November 19, 2025 at 10:54 PM
the perfect email signature line is here
November 19, 2025 at 6:05 PM
T-SQL Query Exercise: Generate Big Spills

When I was testing SQL Server 2025's new ability to limit TempDB usage with Resource Governor, I wrote a few fun diabolical demos. One of them was to generate giant spills to TempDB, quickly. When you're looking at an actual (not estimated) query plan, and…
T-SQL Query Exercise: Generate Big Spills
When I was testing SQL Server 2025's new ability to limit TempDB usage with Resource Governor, I wrote a few fun diabolical demos. One of them was to generate giant spills to TempDB, quickly. When you're looking at an actual (not estimated) query plan, and you see a yellow exclamation point on a sort operator, that means: SQL Server made a guess about how much memory it would need to accomplish that sort…
www.brentozar.com
November 19, 2025 at 1:16 PM