Going Red

Like me mentioned in my IW blog last week, I got a hold of Red-Gate’s new data generator and started playing around with it. The first thing I noticed was that it didn’t yet support Katmai. I’m a little confused by that because the libraries should be close enough to be able to make a basic connection so there shouldn’t be anything wrong with it, but alas, it’s unsupported as of yet. I did connect with the PM on the project who showed me their roadmap which tells me that it should have Katmai support by Q3. No worries, I just put up a Yukon instance so I’ll be starting up my testing soon. Now, I realize that they wanted to make it a simple tool that only connects to SQL Server, so they don’t support ODBC. But that’s the definite advantage to supporting ODBC is that as long as you adhere to basic ANSI you should be able to connect to any DB you have loaded. So in this case, they could support SQL Server only as well as accepting ODBC and you could easily connect to a beta copy like Katmai. Still, I get where they’re coming from; I just always want it all.
Now about the roadmap… I saw some interesting things in there.

1. In Q2 SQ Prompt 3.8 will be released offering a Pro version that incorporates the layout SQL functionality from Refactor. I’ve been trying to find out more info on the future of Refactor, but I’m having trouble hooking up with the PM. I’ll let you know more when I manage to hook up. I don’t know when exactly in Q2, but if they shoot me a press release I’ll let you know and maybe I’ll even get some code to play with as well.

2. Also in Q2 will be SQL Response. This is their new monitoring product. I had no idea that the market could still support a monitoring product, but it apparently can. Personally, I’m really big in the monitoring space so I can’t wait to see what they come up with.

3. Exception Hunter was release back in Dec and I didn’t even know about that one. It sounds interesting though so I’m going to do some reading on it and see what I come up with.
OK, that’s it, but take a look at the roadmap and keep an eye on it for more tidbits. It would be nice if they’d wrap an RSS around it so I don’t have to keep checking.

Database Therapy

A good DBA has to be a bit of a therapist at times. We have to take users who are freaking out and get past their anxiety, past their hurt, and a lot of times past their anger, and get down to the real issue. What I find amusing a lot of times is how the most excited users, the ones who are just freaking out, tend to be the ones in the least amount of trouble. Their problems are usually easy to solve. It’s the devs who come up to you nice and calm with just kind of a question to ask you real quick that find out they’ve done something really stupid and you can’t get them out of the hole they’ve dug.

On slightly the same topic, I had a comical exchange with a dev this morning in trying to explain to him why you can’t install a .net assembly in SQL2K, and how SQL can’t be compiled into a .dll.

And I’m falling more and more in love with the Katmai group query capabilities. Almost every day I have to deploy code or make some kind of change to all of our marts and being able to hit them all in one shot is just incredible. MS really got this one right.

The Runaway Instance

I recently installed the latest Katmai CTP on my workstation at home. I installed the entire package. I connected to it just fine and worked with it for several days. I then went to hit it with an external client so I could load some data, but it wouldn’t connect. I checked and it was set for remote connections, and it was listening on 1433 so that wasn’t the problem. I didn’t know if there might not be some kind of glitch so I burped the service from the Katmai Config Mgr. The service failed to restart. The message I got was that 1433 was already in use. OK, at least I have a message to troubleshoot now. Well, I’ve got Pinnacle running on that box and it uses SQL Express. So since I installed Katmai as a default instance as well, it was clear that Pinnacle was stepping on it… even though Yukon was on the box before and it never had issues with Pinnacle.

Anyway though… I stopped the express service and I still couldn’t connect. So to make a long story shorter, because I spent a very long time on this, it turns out that the Katmai Control Mgr was falsely reporting the express instance as stopped when it was really still on. When I went into Windows SCM it was still running. So I stopped it from Windows and all’s well.

At least I got some good troubleshooting practice in, huh?

The Untunable Database

There are some DBs that just can’t be tuned any more than they already are (or aren’t). A good example of this is an application that hits a DB and never qualifies any of its queries. They all hit with select * and no where clause. There’s really nothing you can do to increase the performance short of just throwing more spindles at it. But that’s not really what I’m thinking about right now. What I’ve got on my mind now is an application and DB that just can’t be tuned no matter what you do because the business owners don’t see the benefit of making the changes.

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.

Training Site

I just came across a training site I haven’t seen before. They’ve got a couple free vids, but it’s hard to really get a feel for the training from just those.
So I’m trying to get a pass to the site so I can review it for you guys and let you know if it’s worth it.

I’ll keep you posted.

Celebrity DBA Work

I’ve always had a soft spot for celebrities who have their entire lives spilled out in public. It’s gotta be tough to not only have everyone see how good or bad you do you in your job, but also in your personal life as well. And I’ve often thought for everything I’m not (rich, well-known, etc) at least I don’t have all my failures made public.

At least, that’s the way it is until you have a disaster with one of your DBs. Then everyone wants to come stand over your shoulder and watch you bring it back online. Now the heat is on because you have to remember every last command and parameter in front of the crowd. And knowing that is like trying to stop laughing in church. The pressure is just too great. Some DBAs fold at this time. Others just do their jobs like nothing’s going on. Me, I clear my desk of on-lookers. I had that happen just this morning. I can’t stand to have people just standing there watching me work. I like to be able to follow a train of thought without worrying about how I come off to my audience. So I always tell them… the sooner you leave the sooner I can get to work fixing this.
This morning’s disaster came in the form of a dev sending me an email telling me his system was down. He then followed up with a trip to my desk. So I asked him… did you come over just to stand over my shoulder and watch me work? Thankfully, he took the hint and left. But it’s not always that easy.

I’ve always been very sensitive about that with other people too. Unless invited, I always try to stay on the backside of the monitor… especially when someone is trying to get something done in a hurry or needs to concentrate.

There are those who don’t really mind people watching them. These would be those who present at conferences all the time and are used to it. But I’m not one of them. Anyway though… give your DBAs a break. If you want them to do something for you, don’t stand there and watch them. Just leave and they’ll call you when it’s ready.

Videos Coming Soon

I’ve started making some SQL Server tutorial videos. I’ve done like 3 or 4 so far and I’m going to post them soon. I’m starting with a basic topic and building on that. So this time it’s backup. I started with the basic backup syntax and am working up to complicated backup procedures. This is meant to be kind of an inclusive tutorial series for someone who doesn’t know backups at all to taking them through some decent types of procedures. I’ll be branching out too, this is just where I started. I’ll post links once they’re online.

Will the Real Idiot Stand-up.

As you know our other DBA just left and he just started his new job. I was IMing him today and asked him how it was going. He said, the last DBA was an idiot. It’s funny, cause I can’t count the number of times I’ve said that. I don’t thing I’ve ever started a job where the guy before me knew what he was doing.

The question is though, am I really all that good or do I just have an inflated ego? I’d probably have to say it’s a bit of both really. I’ve seen a lot of DBAs who just don’t know the simplest things about SQL. I’ve talked about this several times in both my blogs so I’m not going to harp on it too much right now, but it holds more true every year I’m in this industry.

There’s a difference between just doing things differently than the other guy, and his systems actually being neglected. Not performing backups or index maint. is bad DBAing. It’s not just a different way of doing things. I remember talking to a guy who was a very high DBA at a company we all know last year. I was at PASS come to think of it. And he sat there proudly and told me that they NEVER change their sa passwords on any of their systems. I would love to tell you his reasoning, but I just couldn’t get into something like that. But to be proud that you never change your sa password is just assinine. You know what they say dude, if you look around the room and you can’t find the asshole, it’s you. The same goes with idiots.

It’s hard to measure skill though. Everyone has such different experiences. Things I’ve come to know well may be completely foreign to a different DBA who’s far better than I at something else. So does it make him an idiot because he doesn’t know what I know? Yeah, sometimes. The basics should be covered. Every DBA should know what it is to backup a system and do maint. and basic security. And so often it’s these basics that aren’t covered.

So now it comes down to simplicity. What makes a really good DBA? I’ve had several talks with guys all over IT about this same topic, and in almost every session, we’ve pretty much concluded that you only have to try a little bit to be better than the average guy. The average guy does very very little to further his knowledge or to get really good at his job. Most people just skate by. So if you try just a little bit you can rise above the crowd. That’s what I think anyway.

SQL Server Done Right

This is the perfect topic to go along with what I wrote on my other blog today in The real difference between SQL Server and Oracle.

I just got an email from the producer of the new Kalen Delaney series on SQL Server giving me my press pass into the online content for this series. I’ve only watched the 1st 9mins so far and already it’s exactly what I’m talking about in my other blog. Here’s Kalen Delaney who writes one of the most successful series on SQL Server (the other one is by the late Ken Henderson. I still have a hard time saying that), and she’s going the extra mile to put her book into a video training series where she explains the concepts herself.
I, like many other people learn better when things are explained to me than I do from a lifeless page. And Kalen’s an experienced teacher so she has a way of explaining things that make you just get it. Already in this video she’s already covered security of metadata and the sys schema. She’s actually explaining how this stuff fits together from the ground up. That’s how it’s done. I have no doubt that the rest of the series will contain the same deep-level understanding.

I think I’m going to enjoy this series and I’ll try to write-up a full report when I’m done. Or maybe I’ll just do it as I go along.

OK, so here’s the link to the site. You can order the DVD or you can watch it online. It’s good stuff. Seriously, go check it out if you haven’t.
I was recently chatting with Kalen in email and she told me that this is basically the course she teaches when she’s brought into a company to teach a class.

Actually, I didn’t mean this to be an official interview, but I’m going to go ahead and paste her email here. I’m sure she won’t mind (at least I hope not) and she explains it better than I would anyway. I typically don’t post emails without asking first, but she knows who I am and she answered my questions like she was being interviewed, so this one time I’m going to do it. But you’ll almost never see me take this liberty.

1. What material will this first DVD cover…

You can get information about my course here: http://www.insidesqlserver.com/Course%20Description%20and%20Outline.htm
The first DVD covers most of what is in Module 1.

2. What format will it take… will be be a group of slides and whitepapers, or screencast instruction by you…

The DVD will be a mixture of live capture of me talking, and screen captures of my slides and my demos.

3. Who all is involved in the project…

I am recording the class that I have been presenting all over the world for the last several years. Chuck Boyce, of AskaSQLGuru.com is doing the filming and editing. The business side is being managed by Peter Ward of www.WardyIT.com in Brisbane, Australia

4. How often can we expect to see a new DVD come out…

Since I have to fly to New York for filming, we are only able to do about one a month. In fact, I am just about to leave for the airport for the second round of filming.

5. What advantage will one have in ordering these over just getting the books…

Different people learn in different ways. If you like to hear and see someone explaining concepts, this can add to the benefit of the books. People pay a lot of money to attend my classes, but since I’m only one person, I can’t offer them that often. The DVDs are a chance to for anyone, anywhere to get to take my class. If you can read and absorb everything in the books on your own, the DVDs might not offer anything more.

So again, here’s the link to SQLServerDVD.com.

Already a Nightmare

I’ve had to call a vendor for support and it’s already not going well. I’m not going to say which vendor, but I’ll tell you that I’m having problems with my SQL backups.
Anyway, I went online and filled out the form with all the info… OS, SQL version, etc… then I got the email from the support tech asking me for all this info.

I replied by saying I had already filled that stuff out when I created the ticket so why did I have to do it again? I don’t mean to be a difficult customer, but come on. Why do I have to do everything twice?

Instead of working, I blog.