Live registration reopens October 1, 2026, in 5d 03h 36m — Notify me
News & Opinion

Announcing a New Way to Reinforce Your Resume: My Alumni List.

I hope you never have to look for another job.

However, if you do, I wanna give you as much reinforcement as I can. If you're the kind of person who attends my live classes, pays attention, asks questions, and does the lab homework, you deserve to be able to brag about that. You deserve a public record of your work, something you can point to on my site that links directly to your LinkedIn, and a certificate you can put on your LinkedIn.

Read more about Announcing a New Way to Reinforce Your Resume: My Alumni List. Be the first to comment
Performance Tuning

“But NOLOCK won’t hurt me if I’m using an index!”

NOLOCK is bad and you probably shouldn't use it, but every time I mention that publicly, the pushback just keeps coming. I don't know why people so firmly believe that their situation couldn't possibly be affected by bad/random data from NOLOCK.

Today's misconception comes from a LinkedIn commenter telling me it's safe to use if you're doing index seeks. Hoo boy. Let's whip up a table with an index:

Read more about “But NOLOCK won’t hurt me if I’m using an index!” 15 comments — Join the discussion
Performance Tuning

Database Animations: How SQL Server’s JSON Indexes Work

By popular demand, SQL Server 2025 added JSON indexes. You can eat the cake of being able to store practically schema-less JSON blobs as part of each row, and have it too by querying specific values quickly. (The common phrase is to "have your cake and eat it too", but did you ever think about…

Read more about Database Animations: How SQL Server’s JSON Indexes Work 8 comments — Join the discussion
T-SQL & Development

Set Your Application Names Before You Wish You Had.

When you run monitoring queries like sp_BlitzWho and sp_WhoIsActive, you wanna see the program names that are running the queries. It's super useful when you've got multiple apps running on the same servers, or when you've got apps scattered across end user computers.

If you don't set the program names, you'll either end up with empty strings, or your dev tool's default name, like Core .Net SqlClient Data Provider, which doesn't tell you jack.

Read more about Set Your Application Names Before You Wish You Had. 10 comments — Join the discussion
News & Opinion

Free Webcast: You Shouldn’t Use SQL Agent for Batch Processes.

SQL Server Agent is a solid scheduler for database administration and simple, database-local automation. In a small to midsize shop, it is the right tool for backing up databases, checking for corruption, and maintaining statistics.

But as a shop grows in complexity, Agent starts running into its limits, and teams find themselves duct-taping together workarounds to cover the gaps.

Read more about Free Webcast: You Shouldn’t Use SQL Agent for Batch Processes. 1 comment — Join the discussion

How to Download the Stack Overflow Database for Postgres

You wanna learn PostgreSQL, and you wanna use a sample database with big real-world data, the same kinds of issues that pop up with real-life data distribution skew, and fun query challenges.

StackOverflow.com provides a free data dump in XML format with their data as of 2024-04. The data is licensed under cc-by-sa 4.0, which means whenever you use it for public demos, you'll need to link back to their original data source there, just as I did.

Read more about How to Download the Stack Overflow Database for Postgres Be the first to comment
News & Opinion

It’s Been 10 Years. Has Microsoft Built What You Voted For?

Ten years ago, I published a blog post with the top 10 most highly upvoted requests for Microsoft SQL Server as shown on their feedback site at the time, Connect.Microsoft.com. That site has gone out to a nice farm upstate, but let's revisit that top 10 list to see whether Microsoft actually built what you wanted.

Read more about It’s Been 10 Years. Has Microsoft Built What You Voted For? 9 comments — Join the discussion
Performance Tuning

Database Animations: The Difference Between Row Compression and Page Compression

What's the difference between SQL Server's row compression and page compression, and when does each one make sense?

Row compression turns every fixed-length datatype into a variable-length datatype, using as little space as possible to store it
Page compression does that, AND adds a dictionary of repeated data on the page, getting more compression at the cost of more CPU

Read more about Database Animations: The Difference Between Row Compression and Page Compression 6 comments — Join the discussion