Valid Opinions
He was mostly upset because he said the other guy's opinion was just as valid as his and so far it's brought the group to a standstill while they figure this out.
I told him that there's no way that both opinions are equally valid. In some instances that may be the case, but in this one, I happen to know who the other guy is and I know that when it comes to SQL brains he definitely got the short end of the stick. So I'm saying it out-right: not all opinions are equally valid. My mother-in-law likes to put her 2-cents in when we're sitting around talking computers. She doesn't know the 1st thing about it, but she likes to give her opinion anyway. So when I ask Jen's brother something, his answer is worth more to me than her mother's. The same holds true here right? Because someone is in a group and was invited to a meeting that doesn't mean that they have equal say in things.
Here's another really good example... let's say that there's a weird recovery scenario or even corruption scenario that you come across. And you come up to me and Paul Tripp at a conference and ask us what our opinions are. I'd say that Paul's opinion in this case is worth far more than mine. Sure, I'm a qualified DBA and I've been around the block more than a few times, but Paul WROTE CheckDB so I think he carries a little more weight than I do. Even if it's something neither of us has heard of before, I'd still take his guess over mine.
So no, I'm not one of those who believes that everyone's say is as equally important as everyone else's. Hell, I don't even believe that everyone should even have a say. Some people are just not qualified to give opinions on a topic. In a restaurant you don't see the dishwasher getting a say in what specials go on the board, and in a dojo you don't see white belts chiming in on black belt promotions. So why is it that everyone in IT thinks they deserve an equal say just because they were invited to the meeting?
The Juice Box
I had a very typical conversation with my 2yr old yesterday. It went something like this…
The Juice Box
Benji: More juice daddy.
me: Ok, go throw the box away and bring me another one.
so he goes and throws it away then looks at me.
me: Ok baby, now bring me another box.
about a minute later he shows up with a brown box that some books came in.
me: No baby, bring me a juice box. The small one.
so then he shows up with a smaller shipping box.
me: No baby, a juice box. Bring me a juice box. A juice box.
(Benji looking around all over)
me: it’s in the cabinet right there honey.
(keeps looking around)
me: open the cabinet door and take out a juice box.
(looks at the fridge door.)
me: No baby, the cabinet door. Right there by the broom.
(goes to the other side of the fridge and looks at the wrong broom instead of the one right in front of him)
me: no sweetie, the other broom. Open the door by the other broom.
(opens the fridge door)
me: no sugar, the cabinet door. close the fridge.
(looks all around)
me: the green door right in front of you.
(Looks at fridge again)
me: no no, the green door by the broom.
(goes to the other side of the fridge again and looks at the wrong broom)
me: honey, bring me a juice box.
(looks at ceiling, floor, dog food, etc. everything but the door right in front of him)
me: sweetie, bring me some juice and I’ll open it for you.
(opens right door and brings the juice box.)
Now I ask you, how many of us have had conversations very similar to that with our end users or even our devs? I know some of the devs I’ve worked with have been exactly like that.
So it really got me thinking about the skills a good DBA needs. So as it turns out if you’re looking to make a switch to being a DBA, here’s what you should do. If you really wanna be successful as a DBA, then while you’re studying SQL and learning your job, open up a daycare and run it for about 5yrs. Don’t only open it and run it, but actually get in there and work with the kids. I’d say a good mix of 2 and 4yr olds should do it. I’ve got 3 kids myself and I did it in reverse. I became a DBA first and then had my kids, but I’m convinced that having kids has made me a better DBA because I honestly do have a lot of very similar conversations with my kids and my devs.
And this may piss of some devs, but any DBA out there who’s had to deal with a group of devs who thinks they know what they’re doing when you’re trying to show them how to do something, you know exactly what I’m talking about.
Watch my free SQL Server Tutorials at:
http://MidnightDBA.ITBookworm.com
Read my book reviews at:
www.ITBookworm.com
Blog Author of:
Database Underground – http://www.infoworld.com/blogs/sean-mccown
Follow my Twitter:
Uniting at Last
The DBAs in my area have finally started using their connections through the user group in a way that will actually do them some good. When they get an offer from a company they put the word out to the user group to get any info on that company that may do them some good in making their decision. They typically ask what the company’s like to work for, what the bosses are like, what kind of vacation they get, if bonuses happen on a regular basis, if they expect you to work lots of overtime, what their work from home policy is like, etc.
Personally, this is an excellent use of resources and I think companies have had it too good too long. They way many of them just dump employees for silly, pathetic reasons because they know that it’s too much effort and cost to get a lawyer and sue so most people will just go get another job and forget about it. Unreasonable demands on time and project guidelines are another favorite trick of companies when dealing with DBAs. And they like to hold your head to the fire and then hold it against you when you get burned. So maybe a little bad reputation will help to straighten them out.
It’s always one of the hardest parts about starting a new job isn’t it… not knowing what you’re really in for? So it’s really nice when you can ask someone who worked there before and get the full scoop before you take the plunge. So I’d like to encourage all of you to keep it up and start working with the members of your user group to make sure that companies who don’t value their DBAs get found out. So they’ll either change their ways or not get any quality DBAs.
Watch my free SQL Server Tutorials at:
http://MidnightDBA.ITBookworm.com
Read my book reviews at:
www.ITBookworm.com
Blog Author of:
Database Underground – http://www.infoworld.com/blogs/sean-mccown
Follow my Twitter:
Head in the Clouds
OK, so a while back I wrote a post about how Oracle doensn’t build as much of a community as MS. And not only do I stand by it, but I’ve seen quite a few of the replies around the internet and those Oracle guys amaze me even to this day.
They spend an awful lot of time talking about how much better Oracle is than mssql and how much more stable it is and how much more Oracle users expect from their DBs because they tend to be more important than mssql DBs. Also, Oracle DBs have more users going against them than mssql DBs so more people are affected when they do go down so Oracle DBAs have to be more on the ball because their users expect more uptime. Whereas mssql DBAs’ users expect more downtime so the DBAs don’t have to hurry as much to get the system back up because that downtime is expected.
Man, talk about having your head in the clouds. I can’t believe that in this day and age that people are still so incredibly blind. Do they really think that mssql has taken the market by storm because there are so many people with little insignificant DBs and they just don’t wanna pay for Oracle on these tiny little things. It’s not under dispute that Oracle outshines mssql in some areas. They’ve been around longer and they’ve had more time to bake their product. But that doesn’t make mssql a slouch either. I know you guys know this all too well. Some of the biggest and most important DBs on the planet are on mssql and they require just as much uptime as those super-important Oracle DBs.
To make such statements is not only ludicrous, it’s just childish. It’s like saying that linux apps are more important than windows apps. Grow up guys.
Watch my free SQL Server Tutorials at:
http://MidnightDBA.ITBookworm.com
Read my book reviews at:
www.ITBookworm.com
Blog Author of:
Database Underground – http://www.infoworld.com/blogs/sean-mccown
Follow my Twitter:
The Silent DBA
Be careful when you’re complaining about how much advice you get from your DBA because one day he might stop giving it. And that’s not really a scenario anyone wants because it means he’s stopped caring about the systems and you won’t get any real help. Because I don’t care what you devs out there think, you need your DBAs to keep your code playing nicely with others.
So when your DBA stops putting in his 2-cents your prayers haven’t been answered… in fact, just the opposite. You’ve taken your DB support staff and turned him into a wallflower.
So now my question to you is what did you do to shut him up? Because I guarantee you it was your fault. Are you constantly going out of your way to circumvent procedures he puts in place? Are you constantly disregarding his advice? Do you refuse to setup things in a way that will make it easier for everyone involved to troubleshoot? Do you refuse to follow any coding guidelines he gives you to keep things going smoothly?
OK so I realize that even though your code runs in double the time it could and it always deadlocks, that you’re the smartest dev out there and you don’t need advice from any of those dumb DBAs, but try shutting up and listening sometimes.
Watch my free SQL Server Tutorials at:
http://MidnightDBA.ITBookworm.com
Read my book reviews at:
www.ITBookworm.com
Blog Author of:
Database Underground – http://www.infoworld.com/blogs/sean-mccown
Follow my Twitter:
Snotting Rights
I recently ran across a perfectly delicious situation I wanted to share with you. Someone actually wrote to tell me about this. He just started a new gig and there was massive corruption in one of the dev DBs. He went to ask the DBA where the backup was and he got a very snotty reply.
Well, as it turns out this was something that the DBA had gone around and around with them about. See, the devs didn’t want the DBA to do anything on their precious box so they refused to give him rights. He tried to explain that they needed backups, etc but they wouldn’t hear of any DBAs pissing all over their dev box.
And now when there’s massive corruption and they need to get their dev code back they call the DBA to ask for help. Y, fat chance guys.
I’m here to tell you that the DBA has full snotting rights here. And it only goes to teach them a lesson I hope. DBAs aren’t here to piss on your parade. We’re here to make sure your parade lasts as long as you want and you can even start your parade over and over again if you need to. Seriously guys all metaphors aside, we’re here to help. So stop acting like we’re on different sides.
Watch my free SQL Server Tutorials at:
http://MidnightDBA.ITBookworm.com
Read my book reviews at:
www.ITBookworm.com
Blog Author of:
Database Underground – http://www.infoworld.com/blogs/sean-mccown
Follow my Twitter:
The Untunable Database
I saw that a lot when I first got to my current gig. We had queries doing horrendous things and taking several hours to return and nobody cared. The end users had been running these queries for years and were happy with them. They didn't care that the server was maxed out all the time and that they had to wait 12hrs for a report to return. Now, I don't have to tell you that as a DBA that just drives me insane. Not to mention that it gives me nothing to do. Why am I even here then?
So with that in mind, I had to go a little cowboy on them and just start making minor changes that proved my point. I really can't stress enough that I'm against going cowboy on any DB and I don't care who you are. But there are some instances where it's warranted. You have to get the ball rolling somehow. And how this DB got in such bad shape was definitely their fault, but their current view wasn't. They had just been so used to things working the way they were that they didn't see the need to change. They got their reports more or less when they expected them and even if they had to wait a couple extra hours for them they didn't really mind because they understood the server was busy.
So what I did was just start by indexing a couple huge #tables. I just picked a couple of the worst SPs and added a couple indexes. Then I went in and started commenting out cursors and replacing them with simple join queries. Both of these made a huge difference. Then I just sat back and waited. You really don't want to go too far with something like this. Then when they started noticing that their 12hr queries were coming back in just a few secs, then I had their attention. I was then able to convince them to let me go even further and start really tearing into some of these SPs.
And now, for the first time ever, we've got a near-realtime reporting effort in our company. They've come a long way from 'I don't care if it takes 12hrs' to 'I have to have it now'. The problem is they still slip back into their old habits now and then. They currently want to implement an encryption solution that will take around 2mins to return for each report when the solution I suggested returns in about 2secs. And sure, 2mins isn't really going to break the bank, but as those of you who have done a lot of query tuning should know, you have to be hungry for resources. You have to treat every single CPU tick as a drop of water in the desert. If you don't, you'll wake up one day and be in the middle of the same shit you were in before. You have to fight over milliseconds and squeeze every last drop of performance out of every query you can find. That's the only way to run a real tuning effort.
But it's amazing how politics and perception find their way into every aspect of your job.
About Me
- Sean McCown
- I am a Contributing Editor for InfoWorld Magazine, and a frequent contributor to SQLServerCentral.com as well as SSWUG.org. I live with my wife and 3 kids, and have practiced and taught Kenpo for 22yrs now.