2020
T-SQL Tuesday #130: Automate your stress away

This month, Elizabeth Noble asks us to talk about things we have automated (or want to automate). I talk about a project I just started, called GetAllTheErrorLogs.

Please stop using this UPSERT anti-pattern

There is a very common anti-pattern you should avoid, involving updating a row if it exists and inserting it if it doesn't. See how to avoid race conditions and deadlocks.

Sometimes you CAN upsize a column in-place

Altering a fixed-width column on a large table can often mean either a lot of planning or a lot of downtime, but in some scenarios there may be an easy out.

Troubleshooting error 18456

Updated in 2020 with a few new entries, this is a fairly comprehensive list of the reasons behind various 18456 error messages.

T-SQL Tuesday #128: Learn from others

For this month's T-SQL Tuesday, Kerry Tyler asks us to talk about something that went wrong. I had plenty to choose from, and went way back to ~2002 for this short story.

Measure Delayed Durability impact

In this tip, I show how to measure the positive effects of delayed durability, in cases where a small amount of data loss is acceptable.

Removing the default trace – Part 1

I start a series explaining how I evaluated the default trace and decided to replace it with a slimmer Extended Events session across all of production.

T-SQL Tuesday #123: Life hacks

This month, Jess Pomfret hosts T-SQL Tuesday, and asks us to talk about our own personal life hacks that make our day easier.