SQL Server

SQL Server 2019 adventures on CentOS 7.5

After thinking setting up SQL Server 2019 on CentOS 7.5 was going to be a piece of cake, I explain how my team helped resolve a TLS issue preventing remote connections.

How to USE a calendar table – Part 1

It seems a lifetime ago I wrote about creating a calendar table; now I've started a new series showing how to use the calendar table. In the first installment, I deal with business day problems.

Performance of sys.partitions

After a question on #sqlhelp, I dug into what could be making sys.partitions slow, and how they might get the required information in a more efficient way.

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.

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.