May 31, 2016 by Kenneth Fisher
I really do. There is a joke that DBAs say no to everything and there is some truth to that. But if I say No it’s for a reason. A good one. Because I hate disappointing people, and I hate making their work harder. But I promise I have a good reason.
I’m not going to give you sysadmin access. Not because I don’t like you, not because I don’t trust you. But because accidents happen. And if one does then you get in trouble for the mistake, I get in trouble for giving you the access, and I have to spend time cleaning it up (if I can). While I’m cleaning it up the company is losing money. And if I can’t clean it up then it costs even more money. If the mistake is big enough, or costly enough, it can even cause a company to shut down (yes I’ve seen this happen, a lot of older DBAs have).
I’m not going to make a change in production without seeing it in a test environment first. I know you’re a good coder, and I’m sure you’ve done dozens of changes like this before, but mistakes happen, particularly when something isn’t tested. And then when it breaks we are both in the dog house for the outage, and are both spending time cleaning things up. Just because the change took five minutes for me to put in does not mean it will take five minutes to pull back out. I’ve seen five minute changes take weeks to fix. I’ve seen five minute changes that took a full restore of the database to untangle.
So when I say no it’s not because I want to make your life more difficult. It’s not because I enjoy saying no. It’s because my job is to protect the data and the database. And I’d like to think I’m pretty good at it.