2023
Counting more efficiently

I show how to use metadata to avoid costly reads when retrieving counts, even for a subset of the table.

When an update doesn't update

I discuss reasons you might think a data change was successful when it wasn't – or vice-versa.

Anatomy of a featured image

I talk about the evolution of my thinking on featured images, and how I use generative AI for most post companions these days.

Unpivoting multiple sets of columns

UNPIVOT works great when you're populating a single output column, but I talk about how CROSS APPLY can work better in more complex scenarios.

Modernizing Stack Overflow for Teams

I discuss decisions and trade-offs when migrating Stack Overflow for Teams – first to a new cluster, and then to a new version of SQL Server.

Deployment checklists

In this tip, I talk about checklists to keep everyone involved in a deployment or migration – regardless of technical acumen – on the same page.

Oct. '23 security fixes

SQL Server has updates that fix several vulnerabilities, for all modern versions from 2014 SP3 through 2022.

SQL Server query performance decay

In this tip, I talk about various reasons a query's performance can change over time – even when the application hasn't changed.

Manage schema drift

I talk about how I use dynamic SQL to handle many databases with not-quite-identical schema.

Simulate TRY_PARSE in SQL Server 2008

Certainly not to encourage people to stay on ancient versions if they don't have to, I took a crack at replicating TRY_PARSE on older versions.

A minor bandwidth upgrade

I recently added a switch and an adapter to take much better advantage of AT&T's 5-gig service.

And then there were shirts…

The story behind new SQLBlog-branded clothing (with proceeds going to The Trevor Project and Black Lives Matter).