Help! My tempdb database won’t shrink!

In my previous post I discussed a particular query design that made the tempdb data files consume all available drive space. When discussing the resolution I noted one of the steps was to reduce the size of the data files. That’s means shrinking them, and I am fully aware that sometimes tempdb can stubbornly refuse to shrink. It’s kind of the reverse problem George Costanza mentioned about swimming.

So let’s talk about what you can do when tempdb requires shrinkage.

Continue reading

Getting Aggregate Functions to Go Horizontal

I want to continually make the point that nearly everything I post in this corner of the interwebs can be categorized as “Things I have learned” and not “Things I have made.” Despite my years of work with SQL Server databases, I have used learned concepts from others far more than I have discovered myself. And I’m not ashamed to say this, because for any given task we can either reinvent the proverbial wheel or we can use one of the many wheels in working condition that are already in existence. I would like to think my employers don’t care who made it, so long as it’s a correct, timely, and scalable solution.

Which brings us to Sven. Well, almost.

Continue reading

Don’t mess around with varchar(1)

Maybe I’m showing how old I am, but I remember as a kid hearing a song on the radio that went like this:

You don’t tug on Superman’s cape
You don’t spit into the wind
You don’t pull the mask off the old Lone Ranger
And you don’t mess around with Jim

You’ve probably heard it at some point, although likely you won’t remember the whole thing. This is because it isn’t played much anymore due to the lack of demand for ’70s folk-rock stations.

Continue reading

Data Purity and beating the RAP

Recently we had Microsoft Risk Assessment Program (RAP) completed on some of our SQL Server instances. This is where Microsoft deploys some software that performs a similar function to when you go to the doctor for an annual physical. There’s a lot of poking and prodding, they draw samples, and at the end they tell you everything that is wrong. Your servers have high blood sugar, your databases need to take up yoga, etc. It’s pretty much everything except having the MS technician stroke his chin, saying “Hmmm.”

You are going to a doctor for a regularly scheduled checkup, right? Ok then.

Continue reading

Database snapshot: a deployment’s best friend

I have a confession to make: Historically speaking, I don’t like deployments. I dread them with an unavoidable pessimism that asks “so what is THIS going to break?”

Now, I have worked with a lot of smart people who knew how to write some fabulous code. I don’t doubt that one bit. But I’ve also worked in several places where that code wasn’t rigorously tested before it was time to be deployed in Production. Maybe the business wanted a fix deployed immediately. Maybe the deployment instructions were incomplete. Maybe velociraptors invaded your workplace.

Continue reading

Interview Questions: Curiosity

As a Senior DBA I’m occasionally asked to participate in interviews for other prospective data professionals. Full disclosure: I actually love doing this because, and this may sound odd, I really enjoy asking people questions. Unlike most of my IT colleagues, my university studies featured a huge helping of journalism classes, so interrogating, err, interviewing is something that comes naturally to me.

Continue reading

Give tempdb a chance

If you’re a DBA, you probably secretly wish that you could have one of those cool red and black portrait graphics like those folks at Brent Ozar Unlimited get. But that’s not important right now. You probably also enjoy the privilege of performing the installation of every new SQL Server instance. And if you don’t, well, you can still keep reading, I guess.

Hey, I’m new at this SQL blogging stuff. I’m still working out the kinks.

Continue reading