The Curious Case of… no buffer pool memory and no OS memory available
Jonathan had a client issue recently where SQL Server’s buffer pool had been forced down to a ridiculously small size, only a few hundred MB, but the OS also showed basically no free memory. Page Life Expectancy was zero! What was going on? From invest …
Why the cloud is not a disaster recovery strategy for your critical databases
When AWS stumbled – twice – in October 2025, many teams discovered that “we are in the cloud” is not the same as “we have disaster recovery”. Applications went offline, customer-facing portals returned errors, and internal dashboards that teams rely on …
[Video] Office Hours, Standing in the Ocean Edition
My tripod is probably never gonna recover from the salt water, but the water was so nice that I couldn’t resist. This is a 360 video, so you can grab the screen and move it around to see Magens Bay in St Thomas, US Virgin Islands, as I go through your …
Using Claude Code with SQL Server and Azure SQL DB
Let’s start with a 7-minute demo video – I didn’t edit this down because I want you to be able to see what happens in real time. In this video, I point the desktop version of Claude Code at a Github issue for the First Responder Kit and tell it to do t …

How to use refresh tokens in ASP.NET Core – a complete guide
Today’s applications require robust security to ensure your application’s sensitive and confidential information is not compromised. This is exactly where access tokens and refresh tokens come in. Typically, these tokens are generated based on JWT open …

Row-Level Security Can Slow Down Queries. Index For It.
The official Azure SQL Dev’s Corner blog recently wrote about how to enable soft deletes in Azure SQL using row-level security, and it’s a nice, clean, short tutorial. I like posts like that because the feature is pretty cool and accomplishes a real bu …

Logical Reads Aren’t Repeatable on Columnstore Indexes. (sigh)
Sometimes I really hate my job. Forever now, FOREVER, it’s been a standard thing where I can say, “When you’re measuring storage performance during index and query tuning, you should always use logical reads, not physical reads, because logical reads a …

The SQL Server Transaction Log, Part 3: The Circular Nature of the Log
(This post first appeared on SQLperformance.com four years ago as part of a blog series, before that website was mothballed later in 2022 and the series was curtailed. Reposted here with permission, with a few tweaks.) In the second part of this series …
IDENTITY vs SEQUENCE in SQL Server – which should you use?
Auto-generated numeric keys are everywhere in relational databases. In SQL Server, two features dominate this space: IDENTITY columns SEQUENCE objects Both generate numbers. Both are fast. Both are widely used. Today, though, IDENTITY columns are by fa …
[Video] Office Hours: Back in the Bahamas Edition
Yes, I’m back on a cruise ship with another 360 degree video. Lest you think I’m being wildly irresponsible (or responsible perhaps?) with your consulting and training money, be aware that this particular cruise was free thanks to the fine folks in the …
My thoughts on Redgate’s 2026 State of the Database Landscape report
I always really look forward to reading Redgate’s annual State of the Database Landscape report, and 2026 was no exception. I love the level of detailed statistics they collected from many thousands of database professionals worldwide, from DBAs to sen …
SQL101: Indexing Strategies for SQL Server Performance
One of the easiest ways to increase query performance in SQL Server is to make sure that it can quickly access the requested data, and this is done as efficiently as possible. In SQL Server, using one or more indexes can be exactly the fix you need. In …

Who’s Hiring Database People? March 2026 Edition
Is your company hiring for a database position as of March 2026? Do you wanna work with the kinds of people who read this blog? Let’s make a love connection. If your company is hiring, leave a comment. The rules: Your comment must include the job title …
How to secure MySQL and PostgreSQL in the world of AI
Are you feeling the impact of AI in your daily work? No? Your database might say otherwise. If you run a forum, threads, posts and messages that are forwarded to the database are likely to be at least partially AI-generated. Run a search engine derivin …

The secret life of database keys
There’s not much to database keys, right? When you build a new table, you add a column to act as the primary key, then set it to auto-generate. Done. That’s all there is to know…right? The goal of this article is to demonstrate that there’s much more t …

