Category: Editorial

  • The DR Test Schedule

    You never know what disaster will strike.

    It’s hurricane season on the East Coast of the US right now, and after Hurricane Irene, I’m sure there are more than a few IT workers that are worried about their disaster recovery (DR) plans. Irene didn’t cause much damage, but it was a reminder that there are situations which are completely out of our control, but could easily end up causing us problems with our infrastructure.

    SQL Server gives us numerous ways to prepare for disasters with different technologies like database mirroring, log shipping and more. The new Always On features in Denali will give us even more options, and may be worth the cost of an upgrade. While DBAs seem to regularly practice backups and restores, recovering a full application often requires more than a SQL Server restore. This Friday, I wanted to ask how often you practice your recovery.

    How often do you perform a full DR test for an application?

    I think it’s very unlikely that you would lose all your servers at once. It’s possible, especially with an event like a hurricane, but it’s very unlikely that you would have to recover all your systems at once. However that doesn’t mean that you shouldn’t be prepared to recover a complete system. If new hardware arrived, could you rebuild your Windows hosts, your SQL Server instance and application or web servers? I’ve found out the hard way this isn’t as easy as it sounds.

    I used to perform a complete test of our one critical system once a year. We set aside a day, sending the IT staff needed to a secondary location with media, backups, and unformatted hardware to perform a test. If we couldn’t recovery the system in a day, we usually reviewed the issues and tried again in a month. Unfortunately, if we failed that test, we didn’t usually get another chance that year. Not exactly great disaster recovery planning.

    These days my part of the infrastructure, SQLServerCentral, lives on virtual servers. While I don’t have the responsibility for these servers, we do have images of them, as well as regular backups, and I suspect we could recover them fairly quickly. Maybe I should ask for a test someday soon….

    Steve Jones


    The Voice of the DBA Podcasts

  • An Awesome Job

    Life is awesome and if you can't see it, read this book.

    I recently watched The 3 As of Awesome with my daughter and loved it. It’s a short talk (17 min) from Neil Pasricha, the author of the 1000 awesome things blog. The talk goes through a roller coaster of emotions, at least for me, with a pleasant start, a sad middle, and a positive end. There’s some humor in it, and I highly recommend you watch it.

    When we finished, my daughter and I talked about what awesome thing had happened to each of us that day. She said that me giving her 5 extra minutes to play with a friend before we left was great. I told her the crazy, illegal, solo, 5 hit volleyball return I made at her practice that made everyone laugh was the highlight of my day. We challenged the rest of the family to find an awesome thing from that day, and everyone enjoyed it. Since then we’ve made it a point to regular ask what awesome thing happened to each other.

    The philosophy espoused in the talk is one I try to follow. I stop and appreciate the cool, little things in my life. A refill of my drink when I’m flying economy class makes me smile. I get a good feeling when I can stop and hold the door for someone behind me. I appreciate the health I have, and the fact I can run regularly. A good cup of coffee, the cat wanting to snuggle up when I’m typing in bed, or the chance to step away from my desk and give my wife a kiss during the day are awesome and amazing things in my life.

    Work isn’t always awesome, but I’d like to think that you find little things you can appreciate on a regular basis. Maybe it’s code you write that works. Maybe it’s the knowledge that you saved someone else time because of something you did. Maybe it’s that second monitor that lets the work flow a little smoother. Maybe it’s that burst of bandwidth that made a download smoother. Maybe it’s the comment someone made on SQLServerCentral or on Twitter that grew a smile on your face.

    We spend a lot of time at work, and it’s often work. I hope you enjoy your job overall, but even when it’s not the job for you, hopefully you can find and appreciate some little thing that occurs every week that shows the universe likes you.

    Steve Jones


    The Voice of the DBA Podcasts

  • How do you learn the advanced stuff?

    Advanced Study is hard, but worth it when you want to get better at something

    I was talking with someone recently about features in SQL Server and they mentioned that partitioning was something DBAs should know. It’s only available in the Enterprise and Data Center editions for production use, but my friend noted that it works in Developer edition and felt there was no excuse for a DBA not being familiar with a feature that’s been out since SQL Server 2005, nearly four versions removed from its introduction.

    I can understand that, but if you don’t have the ability to actually tune large data sets and see the impact of partitioning in a larger, production environment, it’s easy to dismiss this as a feature that doesn’t provide many benefits in a smaller situation. The same could be said for clustering, SSIS imports, or any number of features that aren’t often used. So how do you actually learn to get some experience with these features?

    The first thing you need to do is get a copy of SQL Server Developer Edition and install it as a virtual machine on your primary computer. I use VMWare, but you could use Virtual PC, Hyper-V, or VirtualBox as well. The important thing to do is have a sandbox to play in and a machine you can easily copy, clone, or destroy as needed. I would recommend a base install of Windows and SQL Server DE, and then copy that for a machine you can experiment with.

    One way to learn is duplicate the work that someone else has done. Make a copy of your virtual machine and then implement partitioning as described in an article. See if you can duplicate the way the author used the feature and get the same results. If you can’t, find out why, and if you can, experiment with the feature and try to improve the author’s implementation. The SQLServerCentral Stairway Series is a great way to do this in SSIS, SSRS, or other features that you may never have seen. Set aside an hour or two a week to learn some feature. After a month or two, you might be surprised what you’ve learned.

    The most important is to understand how a feature works and gain some experience in using it. You might not become an expert, but being able to talk about the feature, and explain how you might use it in a situation comes from practice. That ability  might get you the project or job that allows you to become an expert over time.

    Steve Jones


    The Voice of the DBA Podcasts

  • Closing Out Replies

    This editorial was originally published on Oct 17, 2006. It is being republished as Steve is at SQLBits 9 today.

    I’ve been posting on the Internet for nearly 17 years, from back in the days of Usenet, GOPHER, ARCHIE and FTP when everything was text. I’ve asked questions and answered them on various topics and as the World Wide Web grew, I grew with it, moving to BrainBench and various other sites where I could gett and provide answers. Recently some one sent me this definition for Warnock’s Dilemma, which was timely considering the today’s article on posting manners, which I received about the same time. I thought it was interesting wanted to bring it to people’s attention.

    Early on when I’d post a question, I got an answer, but then I wondered if it was good information. I could usually test it myself, but since I wasn’t sure of how to solve it on my own (hence the post), I wondered if there was a better way to solve it. Ideally I’d get 2-3 responses, maybe even some improving or commenting on others, to help me sort things out.

    If I didn’t get a response, then I wondered if I hadn’t phrased things correctly, or no one else knew, or even that no one bothered to read my post. All of these are valid interpretations and the new definition from Wikipedia pointing out that a lack of response doesn’t necessarily mean anything. There are 5 possible interpretations of this.

    When we started SQLServerCentral.com, our goal was to answer every single post. The three of us (and three others at the time) would research questions and make it a point to answer in some way, some type of post. As we grew, we encountered areas, such as MDX, where none of us had any expertise and couldn’t even understand the research sometimes, much less the question. To facilitate getting responses, you have probably noticed that we add an automatic post to some threads if they haven’t seen a response in a day or two. This is to bring them back to the top of the list and hopefully someone else’s attention.

    The other thing we debated on with answered posts was whether one answer was sufficient. Often one of us would come on a thread that someone else had answered and we liked the solution, but there was no closing “thanks” or “that worked”. So we decided that adding another post that agrees with the solution, a “me too” post, was a good idea. That way we hoped that we’d build some confidence in the solutions we believed in and give the newbies out there a reason to follow the advice.

    I’m really not sure what the best way to handle posts on the Internet. We’ve been asked to allow people to “rate” solutions as well as “close” threads. We’ve resisted because we see various issues with all of those solutions, just as with the thread within a thread capabilities of many forums. We’ve opted for a simpler solution that we think works well and we hope you agree.