When I’m looking at someone’s server, it’s easy to tell the kind of care it’s been under.
We’ve written a lot about servers that have gotten the wrong kind of care. You know, no backups, no checkdb, but someone managed to turn auto create stats off for every database, and enable affinity masking. That’s not what I’m here to talk about today.
No, no. We’re here to talk about those servers that lack the self-awareness to realize they’re getting the bare minimum out of life.
The first sign is always the hardware
You’ll see two or four CPUs, and a pittance of RAM.
Someone may have set MAXDOP, Cost Threshold for Parallelism, and Max Server Memory, but those settings will make about as much difference as putting your Sauvignon Blanc in Riedel stemware.
The second sign is always the software
Q: How do you spell apathy?
Uptime is great. A year of uptime is impressive.
It’s impressive in the same way that Elon Musk met Grimes; so many people had to not do their jobs for that to happen, one may find themselves literally-can’t-even-ing.
The third sign is always the indexes
Sure, you have them. They’re there. Clustered, nonclustered. Some included columns. Some more included columns.
But most of them have DTA in the name, and then some incomprehensible list of Ks and numbers. Some much longer than others.
This is the equivalent of letting Jenny McCarthy pick your pediatrician. Sure, she’ll pick a doctor, but now you’re partially responsible for the next plague.
The fourth sign is always the code
You don’t even have to scroll down past the comments usually.
But when you do, you’ll be greeted by a DISTINCT, and a dozen LEFT JOINs, finally culminating in WHERE final_left_join.id IS NULL. While the code is old, it certainly doesn’t predate NOT EXISTS.
This is as morally reprehensible as juice cleansing.
It doesn’t take much to get your database out of basic mode. Our First Responder Kit is a great place to start.
Thanks for reading!