In this tip, I show a few pagination tricks to let users filter without killing performance.
In this tip, I talk about an approach to achieve constant (O(1)) performance on every page instead of just the early pages. The approach isn't without its trade-offs, but if you're optimizing for runtime performance…
In this ongoing series on common problems in SQL Server, I explain many possible reasons for "Invalid Object Name" errors.
In the past, we've used xp_cmdshell and PowerShell to send Slack messages from the database. In SQL Server 2025, there's (arguably) a better way…
SQL Server 2025 introduced a new way to hit APIs from the engine, but is it better than all the quirky ways we've done this in the past?
In my previous post, I showed how I collect index information across all replicas to get the whole picture. In this follow-up, I add more context.
In this post, I show how I make decisions about unused or redundant indexes with the whole picture: analyzing activity across primary and all secondary replicas.
I recently built a process to create a new filtered index on a schedule to support a UI that only cares about the last 30 days.
I dug a little into one of the new RegEx functions in SQL Server 2025: REGEXP_SPLIT_TO_TABLE.
In this follow-up, I show how we determine all possible point of time restores and identify which backup files to keep in order to meet our recovery objectives.
In this article, I detail some of the things we do to manage backups and retention policies for hundreds of production databases.
I put together a brief list of all the things that can cause "A network-related or instance-specific" error messages, and a few things that can't.
As the SQL Server 2025 public preview hit the streets, I had to test the new backup compression algorithn, ZSTD, on a decently-sized database.
Occasionally, it's fun to talk about our wish lists for SQL Server. In this post, I talk about a few that I came across recently…














