When someone’s got boogers hanging out of their nose, they want to hear about it in the most subtle way possible.
Blurting out, “Hey, dude, you’ve got a booger hanging out of your nose!” won’t win you any friends. Sure, people will laugh, but they’re not just going to be laughing at the guy diving for the Kleenex. They’re also going to be laughing at your blatant lack of tact in addressing the issue. Ideally, you start by gesturing at your nose. If the poor guy doesn’t take notice, you gradually ramp up the hints until you have to say something out loud. My dad likes to say, “You’ve got bats in the cave,” and that’s his code phrase for boogers in your nose.
When senior DBAs are called in to look at a SQL Server problem, we sometimes run across the equivalent of nose goblins: things that aren’t really causing any serious damage, but they’re somewhat embarrassing and easy to fix.
For example, I was recently working with a client who had some (but not all) of their development databases in full recovery mode, yet they weren’t doing transaction log backups. This happens sometimes to the best of us (well, me at least) when I restore production databases over to a dev server. The production box has all its databases in full recovery mode, and when they’re restored, they retain their full recovery mode status on the dev box. The database’s log file will then grow as developers run transactions, and there’s a possibility that the log file will grow out of control if people run huge transactions.
Several of us (including a manager) were working together in a conference room with SQL Server Management Studio up on a projector when I spotted the issue. We had the list of databases up on the screen while we discussed some unrelated issues. The recovery mode didn’t have anything to do with the problem I’d been called in to fix, and I didn’t want to throw anybody under a bus. I casually gestured at the databases in full recovery mode, nodded over at the DBA, and said, “Catch that? I bet you know what happened here, right?”
Sure enough, the DBA recognized the issue right away, nodded, and jotted down a note.
The manager took notice too and asked, “Is that the problem? What are you pointing at?”
“Nothing,” I said, “It’s just a common configuration tweak that pops up every now and then, and it’s easy to fix. It’s totally unrelated to what we’re working on. I just wanted to mention it to him while we had that screen up. Don’t worry about it.”
When you notice someone’s got boogers hanging out of their SQL Server’s nose, be polite and discreet. They’ll like you and they’ll be more likely to take your other advice to heart.