No Such Thing as a DevOps DBA

DevOps
Sjor Takes (b|t) has just barely started blogging, but he's got a great post about a discussion he had with a colleague. It's worth a read. When you get done, I'll provide my answer to the question posed at the start and conclusion of his post. I had a great discussion with one of the smarter people I know late last year. Since I'm going to disagree with this person rather vehemently, I'm going to keep them nameless. We were discussing databases and DevOps and how it relates to the developer, the data professional, specialized DBAs and businesses. It was mostly a great conversation except for this person's opening. This isn't an exact quote, but it paraphrases their beliefs fairly well: The DevOps movement is, intentionally, about getting rid of the…
Read More

How to do DevOps as a SQL Server DBA

Database Lifecycle Management, DevOps
You recognize that you need to provide a pipeline for database deployments, that you need to automate as much support for your development teams as you possibly can, that you have to have testing in place to ensure protection of the production environment, that you need to speed your processes. In short, you recognize the need for taking on a DevOps approach, an Application Lifecycle Management (ALM) approach, even, a Database Lifecycle Management (DLM) approach. Cool. Now what? Well, there are three fundamentals that you need to get under your belt. You need to get your database into source control. You need to set up a continuous integration process. You need to set up automated deployments. All tough nuts to crack. Hey, we get it. That's why Redgate Software is going…
Read More

DevOps, the DBA, and the word “No”

DevOps
Check out this DevOps Reactions animated GIF and caption. It's funny on multiple levels, but it also makes me both mad and disappointed. I get mad because it's 2015. Surely by now most of us, especially those who have worked in the enterprise with development teams, know that the old 1970s vision of a walled off data center with DBAs in white lab coats acting as gatekeepers to the data is long discredited. As DBAs, even if you're not working with development teams at all, you're just offering a service to the business. This whole, a DBAs favorite word is "NO", meme needs to die a quick, hard, death. All those "Technology X" is going to eliminate the DBA articles that come out every six months like a comet with…
Read More

Oh Look, A Horseless Carriage

Professional Development
Never forget, we're making buggy whips. And everybody we know drives little buggies and they need our buggy whips. We've got a special talent, a unique knowledge set, and it's fulfilling a defined need. So we're all set, right? Well, other than that Stanley Steamer over there. And maybe that Ford. Oh, and there's a Grant. I worry about this stuff all the time. I know SQL Server. Before that, back in the day, I worked on Paradox, PAL & OPAL. I learned and programmed in Visual Basic, Java, C# and .Net. I've made sure that I've explored, let's see, Hadoop, Mongo, MySQL, and others, structured and unstructured, relational and non, you name it. Why? Because, I want to keep an eye out for the automobiles that are going to ruin…
Read More

My First Board Meeting

PASS
Parents, you know that feeling you get after you've brought home that brand new baby (or in my case, babies) where you suddenly say to yourself, "Oh damn. What have I done?" Yeah, that's my feeling after my first board meeting. But let me give you a run-through of how it was. Note, I can't pre-publish any board decisions. I'm also not giving you a blow-by-blow account of the discussions (especially since there were no blows, at all). This is a story of the types of things we did, how it went, how I feel about it. This is my blog, my blog post, my thoughts and feelings. This does not represent an official PASS communication. We good? While the board meeting itself is, for me, only a two day affair, we tacked a…
Read More

Understand the True Source of Problems

SQL Server, T-SQL
There's an old joke that goes, "Doctor, doctor, it hurts when I do this." While the person in question swings their arm over their head. The doctor's response is, "Don't do that." Problem solved, right? Well, maybe not. Let's take a quick example from life. I do crossfit (yeah, I'm one of those, pull up a chair I'll tell you all about my clean & jerk progress... kidding). I've been experiencing pain in my shoulder. "It hurts when I do this." But, I'm not going to stop. I've been working with my coach to identify where the pain is and what stretches and warm-ups I can do to get around it (assuming it's not a real injury, and it isn't). In short, we're identifying the root cause and addressing the…
Read More

Two Weeks on the PASS Board

PASS
The one absolute promise I made about serving on the PASS Board is that I would let you know what I was doing there. Well, we're two weeks in and I figured now was a good time for a report. Next week is my first board meeting (and I will report back on how that goes). I'll be presenting the goals I've worked up for the Chapters and see how many of them we can get approved and then how many of them we can deliver. In the time I've had on the board so far, a big part of what I've been doing is learning about what has gone before. What kind of goals did we have for last year. Which of them were delivered. Which weren't. Why. What's…
Read More

Common Table Expressions Are Not Tables

T-SQL
There's power in naming things. Supposedly some types of magic are even based on knowing the correct names for things. The name for the T-SQL clause Common Table Expression (CTE) is actually pretty accurate. It's an expression that looks like a table and can be used in common across the entire query (at least I think that's what the common part refers to). But note, I didn't say it was a table. It's not. It's an expression. If you look at the T-SQL definition at the link, it refers to a "temporary" result set. Now, to a lot of people, that means table. But it isn't. Let's look at this in more detail. Here's a query that defines a simple CTE and then uses it to query the date in the…
Read More

I Am Grateful For

Professional Development
A while back I wrote about saying "Thank you" to people. Last night I was listening to NPR on my ride home from a great New England SQL Server User Group meeting (yes, I listen to NPR). Two different reports came on during my ride that got me thinking again about my previous blog post. The first talked about how negative emotions directly impact your ability to make rational decisions. They've found that people actually spend more money on items when they're depressed than they do when they're happy. There's a bunch of research around it, but I missed where it was published. It was a great discussion. They found that getting yourself into a positive mood directs your focus outwards rather than inwards. One of the best ways to get that…
Read More

Execution Plans, Performance Tuning and Rum

Misc
[caption id="attachment_2827" align="alignleft" width="150"] This is me on the last cruise[/caption] In just a few more weeks I'll be setting sail on the first of two SQL Cruise events this year. I'm honored beyond my ability to appropriately express it to be included as one of the Technical Leads for both the cruise in February (7-14, 2015, I think there's a seat or two left) to the Caribbean and the one in June (14-21, 2015, definitely a couple of seats left) to the Mediterranean. Lest you think that this is just an excuse to hang out and drink, you ought to know a little about how sessions are presented on the cruise and the sessions I'm presenting. Don't mistake sessions on the boat for your typical one hour session at…
Read More