[Note from Pinal]: This is a 122nd episode of Notes from the Field series. This story about Shepherd DBA, Teacher and Mentor. If you know Mike Walsh, he is an amazing person to meet and know. He is a technical expert, but along with that he is a true life coach. I am fortunate to be his friend. Every single time I meet him, I learn something as a human. In this episode of “Hey DBAs” Mike explains one of the most important things any DBAs should learn, which is to say “I Don’t Know”.
In this episode of the Notes from the Field series database expert Mike Walsh talks about one of the very interesting topics about life coaching. It is very critical that we teach the next successor the right things to do and tricks to survive in the adverse environment. Be it a life or database environment, there are a few principals of the life always applies.
Time flies. Doesn’t feel like my turn to be writing for Pinal’s blog again from the Linchpin People crew, but we’re in a new rotation. I was going to write about SQL Server 2016 features, but I think the team is already tackling that and I speak enough about 2016 with clients and at user groups and events lately it feels.
I wanted to continue in my tone of “Hey DBA!” advice. Things I wish someone told me before. As usual, today’s post is partially inspired from something completely unrelated to technology. It’s my life as a farmer, in fact.
I’ll tell you the story that made me think of the post, then I’ll tie it to our day jobs. If you don’t read it all (I promise I’ll keep it short!) these are the important takeaways up front:
- Senior DBAs – don’t lose the “Junior” skills. Don’t lose track of your servers
- All DBAs – Don’t assume things are good just because they always were.
There’s more nuance and points below. Enjoy and may your day be proactive, on point and happy!
The Shepherd DBA
First a story, as I like doing. In my spare time from SQL Server Consulting, family, fire department volunteer, etc – I’m a shepherd or farmer. We have a small flock of Icelandic sheep. Plus a few other types of animals. April and May are lambing season here for our flock. The pregnant ewe sheep start having their babies. As I write this post we have 8 lambs on the ground already, and we’ve lose a set of twins. Maybe another 4-6 more lambs to be born depending on which moms have twins and which don’t.
We have four children. I consider the older ones my “Junior Shepherds” – they go out and help sometimes. Sometimes I travel. Sometimes work gets a bit busy and they will do the daily chores on the “easy” days. (Putting out hay, checking on water, collecting eggs). What I notice, though, is sometimes it’s easy to miss a sign or symptom in a sheep if I am away from them more. I don’t go long periods of time, but, say, when I go on a work trip or have long days driving distance away. I don’t always physically check every aspect of a sheep, but just being out there, and being around them – you get to pick up signs. You get to know what normal is and you can tell when a sheep isn’t themself. When something feels off. Maybe an early sign of a parasite attacking the flock. Maybe a sign of lambing approaching soon.
And the Junior Shepherds are great – but they don’t know what “normal” looks like so much. They are more hired hands heading down to get the chores done as quick as possible instead of watch, listen and observe the sheep. If you catch something like lambing trouble early, you can intervene and save the ewe and the lamb. If you see an early sign of a parasite showing up or a mineral imbalance – you can quickly make a small and inexpensive correction.
It’s not a perfect analogy. But us DBAs? We can get so busy with meetings, with stuff that isn’t looking at the servers and DBs that we forget the main reason we are there. We rely on tools, monitors, maybe a system administrator who says “yup, the CPU and Memory are still happy so all must be good” and we can ignore a small sign when a small solution will fix it. And we don’t catch it until it’s too late sometimes. And that means downtime and expensive solutions. That’s the analogy. And I think it’s easy to draw some lessons out.
Don’t Forget to Watch the Instances and DBs
Yes we have great tools, maybe even great teams. When we forget how to check the pulse of a server ourselves, when we forget to see how the server is acting and how the DBs are performing and growing and be a bit untrusting of the tools we rely on – we may catch some small issue smoldering and we can fix it now easily (and inexpensively) with corrective action.
We can’t assume the sheep are fine this week because they didn’t have any signs of issues last week. There is a moment when it isn’t raining and a moment when it starts raining. You’ve been outside in that second when it goes from not raining to raining. Sometimes it starts suddenly on a sunny day, but normally there are signs and suggestions out – the leafs turn up, the wind changes, you can “feel” it. Don’t assume it’s sunny now so I can go inside for a week and go out and see it still sunny. Don’t’ assume your instance and your DBs are happy today because they were last month. Don’t assume your monitoring tool works because it always has. Spend some time and check.
Teach and Mentor
Senior people? Work with the junior staff. Get them to not just be hired hands doing chores. Teach them what you are looking for. Teach them the signs of trouble and some troubleshooting skills.
Basically? I’m saying spend some time with your SQL Server environment. Monitor it manually sometimes, run some diagnostic queries on it and see how the settings are. These things can be changed by others. See how it runs and adjust as necessary. The few minutes you spend today can save you hours or days in the future.
Reference: Pinal Dave (https://blog.sqlauthority.com)