DBPedias

Your Database Knowledge Community

John Sansom

  1. Top 10 Free SQL Server Tools

    Top 10 Free SQL Server Tools 2012 What better way to kick off a new year than with a look back at some of the top free SQL Server tools of 2012.

    I know you all love talking about your favorite tools and maintenance scripts. Whether your pleasure is problem diagnosis, query tuning, index analysis or performance monitoring. These tools are all available absolutely free and with the common goal of making your life easier.

    In no particular order of awesomeness (they are all fantastic in their own individual way) here are my top 10 free SQL Server tools of 2012.

    My Top 10 Free SQL Server Tools

    1. Plan Explorer

    If you find yourself having to look at SQL Server execution plans (and you should be) this is THE tool for you. SQL Sentry Plan Explorer builds upon the graphical execution plan view in SSMS to make working with query plans a more efficient and “pleasurable” experience. No more scrolling through massive plans and hunting through property windows to find the metrics you need.

    2. sp_Blitz

    Like Batman’s utility belt, this tool does pretty much everything. If you’ve been handed a SQL Server instance and need to give it the once over in order to get a handle on things then this is what you use to get the job done. sp_Blitz helps you rapidly assess configuration, security, health, and performance issues. As if that were not awesome enough, the results are organised in a prioritized list and provide simple explanations of each risk, plus a column of links that you can copy/paste into your browser for more information about each issue. The authors, Brent Ozar (Blog|Twitter) and his team, have even put together a tutorial video on how this tool works. A wonderful example of #sqlWinning and most certainly worthy of a hat tip.

    3. sp_WhoIsActive

    Want to know what is happening on your SQL Server instance right now? This is the tool you use. It’s my favourite initial diagnosis instrument. When I’ve got a production issue on my hands and nothing more to go on than “is there something wrong with SQL Server?” this is my go-to weapon. The creation of Adam Machanic (Blog|Twitter), sp_WhoIsActive enables me to triage an instance of SQL Server so that I can immediately get a feel for what’s currently happening and quickly decide what my next steps should be. As well as all currently executing commands and what they’re waiting on, I can optionally pull back additional information like the execution plan and blocking chain.

    4. Management Data Warehouse (MDW)

    Yet another fantastic product feature available right out of the box that I’m surprised more folks are not taking advantage of. It contains a significant amount of performance monitoring insight and capability that many vendors will happily charge you for. Using the MDW I have been able to make production performance insight data directly available to development teams by extending the default implementation using SQL Reporting Services.

    5. Index Defrag Script v4.1 

    Everyone has their favourite Index Defrag script. Some folks (suckers) like to author their own index maintenance scripts and everyone else likes to use Ola Hellengren’s ;-) Of course not being one to follow the crowd, this little beauty written by Michelle Ufford(Blog|Twitter) is my own personal favourite. I’ve been very happily using this script for index maintenance of production environments for many years and many versions. It gets the job done extremely well and deservers more press.

    6. sp_BlitzIndex

    It’s natural to think that your indexes improve your performance. Sure that’s what they’re supposed to do sure but there are cases where having indexes can actually be a hindrance to performance. Things like duplicate and unused indexes can be silent killers, dragging your performance down quietly in the background. You can use sp_BlitzIndex to evaluate your overall index health and to identify areas where you can make adjustment and improvement to nip potential future problems in the bud.

    7. Compression Estimator

    SQL Server Compression is one of the more underused features of the product, most likely because a lot of folks don’t know how to use it to their gain. You can download this utility from Codeplex and use it in order to identify how much space you could save, as well as evaluate which type of compression you should consider (ROW or PAGE). Armed with this type of information, you can make a stronger case to both management and you customers as to why you should be taking advantage of the SQL Compression feature.

    8. Central Management Server

    Managing a large number of SQL instances can be tricky. CMS is a SQL Server feature for making the job of administering multiple servers easier. You can centralise your registered server lists, ensuring your entire team is working from the same reference and run multiple queries against “groups” of servers using a single query. It’s a great feature and I encourage you to learn more about how it can simplify the administration of your environment.

    9. ClearTrace

    Here’s a great tool for working with SQL Server trace files. ClearTrace imports SQL Server 2000, SQL Server 2005 and SQL Server 2008 trace and profiler files into SQL Server and displays summary performance information. It’s easy to use and helps you get to the bottom of performance problems fast.

    10 . SQL Server 2012 Diagnostic Information Queries

    SQL Server DMVs were are godsend when they were introduced into the SQL Server product. Just ask anyone who still has to touch a SQL 2000 instance how much fun they are having. DMV’s are of course not pure magic by themselves, they need to be built and combined together into useful T-SQL queries. Thanks to Glenn Berry (Blog|Twitter), the hard work has already been done for you. Glenn has put together a wide variety of awesome T-SQL queries that you can use in order to diagnose the health and performance of your SQL Server instances.

    An excellent selection of tools I’m sure you’ll agree and this is a list of only 10. There are so many more fantastic tools and scripts freely available courtesy of the SQL community.  Share your favourites in the community forum.

  2. Step Up and Take More Ownership

    TSQL Tuesday LogoThis post is part of the T-SQL Tuesday Meme, this month hosted by Jason Brimhall. His chosen theme, to come up with a story where you “stood firm” and relate it to these words: resolve, resolution, or resolute. 

    Regular readers will know and tell you that I’m resolute in my philosophy that the Best DBAs Automate Everything. So when I was presented with an opportunity to dish out a dose of unadulterated #SQLWinning recently, the temptation was just simply too great for me to resist.

    We use SQL Server Replication quite a bit in the current shop. For this one particular system a waterfall replication topology was in play. That’s a Publisher replicating to a Subscriber, that then Re-Publishes the same Articles to a number of Subscribers. The very first Publisher is the recipient of a rather large ETL process and the data is then replicated throughout the waterfall replication topology.

    SQL Server Replication Waterfall Topology

    A Simplified Waterfall (Re-Published) Replication Topology

    The system had been happily working away perfectly for years until one not so fine day, when all manner of replication related performance problems began to occur. Just for kicks some of these included excessive Transaction Log growth, Log Reader Agent issues (scans taking hours), distribution database bloat, distribution database clean-up job issues, subscription expiration and the list goes on. The ins and outs of the various issues and their troubleshooting are beyond the scope of a T-SQL Tuesday post but suffice to say many a DBA man hour were lost in the battle. The point is that the current system process was grinding to a halt due to the huge volume of replicated commands.

    Taking on a Challenge

    Something obviously needed to be done to resolve the situation. Enter the politicians. One of the really interesting aspects of working for a larger organisation is that sometimes it can be quite fun trying to identify who actually owns a given system, particularly one that is a number of years old and straddles multiple business domains.

    Yes you guessed it, nobody stepped forward to own the problem and more importantly the development of a solution for it, meanwhile each time the current system borked, DBA resource was needed to get things moving again.

    Personally I enjoy taking on a tough problem, it’s good for the soul (not to mention your future bank balance), so I pitched management on the idea that I would like to spend some time developing a prototype solution to our woes. In their eyes I was offering the prospect of coming up with a resolution to a high profile and sensitive issue, for the trade off of a few hours. I was putting myself forward and offering to take ownership of the problem. Of course I got the go ahead!

    What’s The Problem You’re Trying to Solve?

    Before embarking on any noble quest it’s important to understand why we’re doing it, what’s the point or in business speak, What is business problem that we are trying to solve? As it turns out the requirements for this system were quite simply to get some data from the source location and to make it available at a number of target locations, with no interruption to service.

    It’s easy to see why replication was the weapon of choice for the original solution considering the requirements but given the growth of the database data it was no longer the right tool for the job.

    Using the Right Tool for the Job

    tools

    “Tools, some of them useful”

    From experience I knew that this is exactly the sort of thing that SSIS is perfect for. A classic ETL solution mixed in with a little DBA abstraction magic to take care of the minimal interruption to service requirement (the inspiration for which was taken from a SQLCAT article that I had previously used to solve a different problem). The solution also had to be none invasive, that is to plug into the existing environment with no changes required to the application tier.

    There was scope to really go to town on the solution design, leveraging things like SQL Partitioning or the use of schemas rather than separate databases but this needed to be a version one solution. Quick and effective. Something that could be developed, shipped in the shortest possible time and get the job done.

    Digression: Solution Overview

    I’ve brushed over a lot of details here because this post is not about the solution design however I wanted to give you at least an overview.

    SSIS Solution Architecture

    SSIS Solution Server Architecture

    An SSIS package was built and deployed to a Job Server. The package transfers the data of interest from the source location directly to the target locations.

    Each target location hosts 3 databases relevant to the solution. A “Shell” database (that’s the original database and would have been the Subscriber db in the Replication topology) and two “Base” databases (Base A and Base B).

    The base databases contain the actual table data. The Shell database contains only Synonyms that point to either of the two base databases but only one at a given point in time. The details for which database is currently in the “live” role is stored in a table within the Shell database.

    Solution Overview

    High Level Solution Overview

    TIP: If you want to create an SSIS ETL solution that is fast then The Data Loading Performance Guide is essential reading for you. It contains instruction on how to take advantage of Bulk Load methods and how to engineer your solution to leverage Minimal Logging with these methods. Implementing these techniques can significantly improve the overall execution time of your SSIS solutions.

    In this case, I was able to use SSIS to transfer all required data from source to target location in less than 5 minutes, including making the database data live. When you consider that the same data would take hours to transfer through the replication topology previously used, this was a significant improvement.

    Big Picture Thinking

    This year I encourage you to reach out and take ownership of more problems in your shop.

    I’ll often hear mediocre Data Professionals talking about how “it’s not their job”, “team super dev should deal with that” or “I don’t have the time”. That kind of thinking will get you nowhere fast. If you take a good solid solution proposal to you manager, they will make the time for you. Especially come annual review.

    What issues or problems are being put up with in your environments instead of taken care of? Resolve now to take ownership of more problems this year.

    Credit: Photo by ZZPZA used under Creative Commons

  3. The Great DBA Getaway

    The Great DBA Getaway

    Free, at last!

    It’s holiday season which means it’s a time for you all to buy me gifts super busy time for Data Professionals!

    Bosses are keen to take of advantage of the opportune downtime to get maintenance done and your colleagues are abandoning the office in droves. Leaving their troubles and work behind them, most likely for you to do. You just might not know it yet.

    Don’t Be “That” DBA

    You know how it goes. There’s an issue with that production system you’ve never touched because Mike always looks after it. He’s out of the office on vacation, the first you’re hearing about it of course, and your boss is on DEFCON 1. He needs you to sort this s$%t out yesterday like your life depended on it. This prized steaming turd of an issue has been dropped in your lap at the last minute and without warning. You simply have no choice but to roll up your sleeves, get stuck in and dig your way out of this mess.

    You’ve got some serious skills when it comes to problem solving and you know that you can figure this out but you also know that you just shouldn’t have to. You needn’t be in this position in the first place. You’re flying blind and the whole thing is an unnecessarily unpleasant experience. Thanks Mike!

    Whether you’re taking time out to enjoy the festive season or working through it. Don’t get caught out this year. Here’s how to make a great DBA getaway.

    Make a Stress Free Exit From Your Office In Style

    Data Professionals work hard, so when you do have an opportunity to take time off it’s important that you make the most it. You want to be able to leave your work behind you and completely detach from it for a while.

    This means:

    Peace of mind:

        • For You
        • For Your manager
        • For Your colleagues

    Demonstrating:

        • Your professionalism
        • Your vision and forward thinking
        • That you are in complete control of your environment, it does not control you.

    You Gain:

        • The respect/admiration and appreciation of the people you work with
        • The ability to really enjoy your vacation and leave work at work for the entire duration.

    Taking time away from the office in this manner means that when you do return to work you’ll be that much better for it. Much more relaxed, rejuvenated and ready to rock.

    To achieve these blissful things, you have to make sure you and your colleagues take leave in the right way. Of course the key to ensuring a stress free break from the office is planning but then you already knew that. What you really want to know is how to implement this “planning” stuff. What is it that you actually need to do?

    Start Planning Your Escape Now

    If you’re doing it right most things will already be in order by the time you consider taking time out. In other words, don’t leave it to the last minute!

    We are all really bad at this. I know that I sure am. There always seems to be something more important, alight interesting, that “demands” our attention and before you know it that task that we should have got done has already been forgotten about. I’m looking at you Documentation! The costs are very real I assure you, You’re Lack of Documentation is Costing You More Thank You Think.

    A continued effort as part of your natural work practices will ensure that when it is time to finally take a break, your path to the exit will be unencumbered.

    Ongoing efforts should made to:

    • Identify silos of knowledge and remove them.
    • Cross train your team continually. Swap roles, responsibilities, projects. That SQL Instance is not Mike’s, it’s belongs to everyone on the team.
    • Document – Systems, implementations, procedures, practices etc.

    Leading up to time away from the office, produce and deliver a handover:

    • Task List - What is it that you expect will need to be done? Order your list in priority of importance. This will assist those not already familiar with a task when competing priorities arise.
    • References and documentation – What will people need to know and where can they look for it? If you’ve got your ongoing efforts locked down, then this will already be done for the most part.
    • Meeting – Schedule a time (not the day before your break) to present your handover. Include time for a Q & A session.
    • Follow up - Send out an email summary of the meeting, attaching your task/project list and references.

    This is by no means an exhaustive list on how to go about your planning but follow these guidelines and you’ll be well on your way to enjoying a stress free break from the office.

    Whatever you’re up to this festive season, whether you’re working (I know some of you production DBAs will still be in the trenches) or taking some time out, I wish you all a Very Happy Holiday. Cheers!

    Have you seen the brand spanking new SQLBrit Community Forum!

    It’s a great place to carry on the conversation and talk about all the “other stuff” there is to being a Data Professional. There’s a heck of lot more to it than technology. Come on in and introduce yourself.  Sure I might look like a big blue lion but I don’t bite.

  4. Clients Love The Way I Jiggle

    Clients Love The Way I Jiggle

    It’s one of the most enjoyable things about being a consultant.

    I’m not talking about my suspect dance moves here. I’m actually talking about a very powerful problem solving technique.

    Customers don’t hire consultants to work on easy problems. They’ve got those covered already. My customers are some of the smartest people I know and I’m sure you feel the same about the people you work with too (well at least most of them).

    Sometimes though, it doesn’t matter how smart you are. There are times when you’ve got a problem on your hands that just won’t budge, despite your very best efforts to make progress. In other words you’re stuck!

    Jiggle it, Just a Little Bit

    What you need is a jiggler. Someone to cause precise changes that ultimately lead the system to come unstuck and start moving again. To “oil the machine” so to speak.

    Being a good consultant means being able to jiggle. You don’t have to solve all your of clients problems and most don’t want you to. My customers often just want the right amount of help to get them moving in the right direction once again.

    It’s about being effective, understanding and using leverage to amplify your impact/results. Sometimes the slightest adjustment is all that is needed, the skill or perhaps the art, is in knowing what to jiggle (consulting is as much about people as it is about technology).

    What Makes a Good Jiggler?

    An individual that:
    • Has an assortment of experience to call upon
    • Is a subject matter expert
    • Can see things differently/offer a fresh perspective
    • Can move between big picture thinking and the details
    • Is not constrained by the current environment, culture or thinking
    • Is not already close to the problem.
    • Is not afraid to ask questions

    You Can Jiggle Too

    This powerful problem solving technique is not limited to the domain of consultants only. It’s something that you can do with your own customers and within your place of work too.

    I’m sure you already posses some of the desirable qualities for the role. You’re certainly interested in your chosen subject area, SQL Server and database technology, else you wouldn’t be here reading to begin with.

    I would say that the most challenging part (particularly for us technology folks) is getting in the right mindset. Once there, you will often find the pieces to your puzzle present themselves and it’s simply a case of moving forward with putting those pieces together.

    [The theme of "getting in the right mindset" is too big to cover adequately in a blog post, especially when you consider entire books have been written on the subject (See Resources below) but I wanted to emphasise the importance of it to you here now. One of the most valuable investments I have made in my own professional development has been in this area. Consider that in order to get the very best from your own mind, you first need to understand how it works, as best you can.]

    Think about some of the problems and challenges that you face in your environment. How might you use this technique to help yourself and your company come unstuck?

    Here are some ideas to get you started:

    • Talk a problem through with someone different - Sometimes help can be found close by and often where you might not expect it. Take developers (gasp) for example.
    • If you’re stuck and your current way of thinking is not giving you the answers, then you need to do something different. To see things different, to come at the problem from another direction.
    • How about a change of scene? Sometimes simply changing the location where you think about your challenge can open you up to new ideas.

    I know many of you are already skilled in the art of jiggling. Share your thoughts and experiences in comments. You can also contact me using the blog form.

    Resources

    “I hope you enjoyed this post. You can make sure to catch all my posts, including exclusive content by subscribing via Email or RSSThanks for reading.”

    Credit: Photo by James Munson used under Creative Commons

  5. Something for the Weekend – SQL Server Links 14/09/12

    It’s SFTW Time, I hope you’ve had a great week!

    Make sure you don’t miss this weekly round-up of SQL Server Links, community news and technology banter by Subscribing to the Blog Feed

    You can also receive posts via Email.

    I don’t typically syndicate ( that’s share using RSS technology to you non bloggers) the weekly round-up to SQL Server Central but today I decided to make an exception. To those new folks joining us, welcome to SFTW!

    So I had some good, no, great news yesterday. Following my recent blog post with a public call to action for myself, delivered in typical SQLBrit low key style of course, finally it has all become a reality. As if there was ever any doubt! For the very first time folks I shall be heading to the PASS Summit and I cannot wait. See you there.

    Here’s your weekly roundup of SQL Server Blog Posts, News and Techie Stuff. Enjoy!

    SQL Server Links

    UK SQL Server Upcoming Events

    Use the SQL Server Event Calendar to keep informed of all upcoming SQL Server events, User Groups, and training opportunities here in the UK. You can also add this calendar alongside you existing Google calendar.

    Misc Technology Posts

    What was your favourite post? Read a blog this week that you think deserves a mention? Share your thoughts in the comments and find me on Twitter(@SQLBrit).

    “If you enjoyed this weeks fix of SQL goodness the best way you can show your support is by sharing it. Please click a share option at the top of the on site post.”

    Have a great weekend!

  6. How To Simply Say You’re a DBA

    Have you ever looked back on a conversation where someone asked you “what do you do?” and felt disappointed with your reply? Same here.

    So how do you explain to someone, who is not familiar with your field, what it is exactly that you do?

    Just last week my girlfriend and I were out to dinner to celebrate our six year anniversary together. Now she knows that I work in Information Technology and as a consultant that specialises in database systems. Those are some nice fancy pants words but what do they really mean?

    “If you can’t explain it simply, you don’t understand it well enough.” – Albert Einstein

    Quite right Albert old chap. It would seem that I have done a pretty poor job up to now of explaining what is I actually do to, how shall we say, to non techies. Deciding to put things right, the following discussion ensued….

    SQLBrit: Think of an online store that you have used to make a purchase, like Expedia or Amazon.

    GF: How about Sainsbury’s home delivery?

    SQLBrit: Perfect. These are examples of web applications, a software program or solution, at the heart of which you will often find a database.

    GF: Ok, so what does a database actually do?

    SQLBrit: Think of a web application as being like a Formula 1 race car. You interact with and control the race car using the steering system, which is akin to the interface/controls you would use with a web application. These are clearly visible aspects of the car/web application but in order for everything to work there are mechanical components that are busy behind the scenes.

    GF: Like the engine?

    SQLBrit: Right. In a web application you can think of the database as being the engine. The more powerful and highly tuned the engine is, the faster the car can theoretically run. It’s my job as the Database Administrator to ensure that the engine runs fast and efficiently.

    GF: And if the engine breaks down, the whole car does.

    SQLBrit: Exactly! The car is dependant on many components working together in order to run, the same is true for a web application.

    GF: So you’re an engineer?

    SQLBrit: In a way yes. SQL Server is a specific database product/engine that I specialise in.

    GF: Why can’t you fix/specialise in the whole car?

    SQLBrit: Take McClaren for example, they are the car builders sure but the engine is built by Mercedes. You have different types of engineers who specialises in different parts of the overall high performance vehicle.

    GF: So who am I in all of this?

    SQLBrit: What? My girlfriend last I knew.

    GF: Well I’m the customer.

    SQLBrit: You mean the driver.

    GF: You’re such a geek…..

    Want to sit next to me at your next dinner party? Of course you do!

    How do you explain or describe what you do to non techies?

    “I hope you enjoyed this post. You can make sure to catch all my posts, including exclusive content by subscribing via Email or RSS. Thanks for reading.”

    More Professional Development Posts

    Credit: Photo by Sharon Y used under Creative Commons

  7. The Hollywood DBA

    I’m delighted to welcome a fellow Brit to the blog to share their story in today’s guest post. Many of you will have read and enjoyed their work before, being a prolific blogger of awesome content over on Simple-Talk. A renowned personality in the UK SQL community, he is  the founder and leader of the PASS SQL South West User Group and a moderator over on the popular SQL Server Q & A Forum Ask.SQLServerCentral.com. I consider this person to be a true SQL community champion and to have them here with us for the What’s It Like To Be a DBA post series is an absolute treat and a real privilege.

    Ladies and gentleman, please welcome Mr Jonathan Allen (Blog|Twitter).

    How I became a DBA

    Like a major Hollywood film, the story of how I became a DBA has good fortune, sadness, happiness, love and a good-looking guy in a vest. OK, well may be no good looking guy and I don’t own a vest so perhaps my story is not so much like Die Hard as I thought. It is a story however of how, at the end of the last century, I was working for a local council collecting taxes and thinking there must be something more to life than writing letters telling people to pay up or I would be arranging for the bailiffs to visit them.

    I was learning TSQL in order to query the arrears database (on SQL 6.5) and producing reports on the arrears data. I was also lucky to have some good friends in the IT department and they were really very kind and supporting me as best they could. I had a couple of borrowed books and I by staying late in the office was busy studying for my Networking Essentials MCP (remember NT 4.0?). I was applying for IT jobs in various places and getting favourable post-interview feedback from the employers, one even saying they decide to give the vacancy to someone else as they thought their vacancy was too much of a dead end for me!

    Perseverance paid off and I eventually got a job as an Information Systems Engineer, this was November 1999, just before the much lauded Millennium Bug was due to cripple every computerised device on the face of the earth*. Soon after that, I found myself sat next to the SQL Server and apparently that qualified me to be sent on a training course because we needed a DBA. I’ve been there ever since, carrying out upgrades of systems and SQL Servers, guiding hardware purchases, creating training courses, helping in the disaster recovery / business continuity planning and generally keeping all the databases in good order.

    I mentioned my story had love in it and I feel this makes me stand out from the majority of DBA’s. Several years ago we were recruiting for a system administrator and we wanted someone with good technical skills as well as a strong administrative brain. The successful candidate was very effective in the role and I am proud to say that, despite moving on to a new employer, for the past five years Annette has been my wife.

    Why do you want to be a DBA?

    Sadly I can’t promise you love, luck or the chance to fire machine guns and run around office blocks in your vest** if you become a DBA. What I can promise you though is the fact that you will be one of the most crucial people in the company, standing between success and failure, by carrying out a few well-defined activities that ensure the life-blood of the business is well curated. Many people (it is mostly managers when they are breaking some bad news I have noticed) will say that the most important thing to a company is the staff. I have to disagree. If any company loses its staff then they will certainly be inconvenienced but temps can be brought in and trained. If a company loses its data then it is dead in the water. What money is due? What accounts need collecting? What stock needs ordering? Who should be paid? How much?

    If data is lost then it is generally fatal to the future of the business.

    A good DBA will be the point where a data loss can be avoided, having good backups, ready to restore and helping get systems back on line with a minimum of interruption will make any disaster have little effect in the trading of the business and with any luck, the great majority of the staff will know nothing about it. You save the day and then disappear into the shadows of the IT department again***.

    Fortunately, disasters are few and far between which means you get to spend the intervening time working on;

    • Optimising code – who doesn’t like making things go faster?
    • Providing colleagues with the tools and data they need to make better, more informed business decisions.
    • and once in a while meeting up with some of the nicest, friendliest and most talented DBAs in the world at SQL Community events to get ideas and advice but also to build friendships that span time and oceans.

    If you ask me is becoming a DBA worth it? I’d say absolutely.

    You have until sunrise to make your decision. ;)

    What if being a DBA just isn’t enough?

    Well, if the day job just doesn’t give you enough time with SQL Server then you can get involved with the SQL Community. There are any number of ways that you can get involved and spend more time working with the software you love.

    • You could blog about it like these people at these sites – LessThanDot.com, SQLBlogCasts.com, Simple Talk (the last one is where mine is! ;) )
    • You could join a local user group (here is a map of the UK ones – http://sqlsouthwest.co.uk/national_ug.htm) and here is a list of their next meetings http://www.sqlserverfaq.com/. There are top quality speakers giving free training at 16 locations across the UK, all you need to do is make the effort to turn up and learn. Perhaps you’ll have something to add to the group and even become a regular speaker yourself one day.
    • You could should join PASSwww.sqlpass.org. More access to free training and news from the SQL Server community all across the world.
    • You could go to one of the SQL Community events I mentioned – SQL Bits, SQL Relay, PASS Summit. SQL Relay is a series of free one-day conferences across the UK, SQL Bits is a twice-a-year conference with a Community Day that is free to attend and the PASS Summit is an annual conference in the US that every DBA should attend at least once.
    • You could join in on one of the numerous SQL Server support forums such as http://ask.sqlservercentral.com, http://stackoverflow.com, msdn forums, etc and start helping out other DBAs by offering your experience and knowledge to others that are having difficulties.

    * – It didn’t turn out that bad; on Jan 3rd 2000 we had 3 PC’s that had to be scrapped because they thought it was suddenly 1973 but other than that, all systems worked.

    ** – If you think you can avoid the security cameras then you will have to arrange this one yourself but please ask for permission and don’t get in trouble.

    *** – Perhaps DBAs are more like the Men In Black?!

  8. Lunch is for Wimps

    A real life DBA tale from the trenches with some awesome advice. That’s what one reader chose to share with the community in response to my post What’s it Like to Be a DBA. I found their story compelling and their message really resonated with me, so much so that I wanted to share it with you here. 

    Please welcome the Diligent DBA, Mala Mahadevan(Blog).

    1. How did you get started?

    DBAs on Wall Street

    Wall Street – “Lunch is for Wimps”

    I was working as a Visual Basic programmer in a leading financial company on Wall Street in the 90s.

    Despite being a large company with sensitive data they did not have a dedicated DBA – my boss managed a team of developers and did most of the DBA work himself. He was often overwhelmed with many things to do.

    I offered to learn some of his work, particularly DBA work since databases interested me. He taught me basic dba tasks – how to do backup/restore, how to create and maintain databases and certain other things that were specific to that business. He greatly appreciated my help despite having a lot to do myself. The story went well with both of us helping each other.

    One day it so happened that he was working late. The company had requirements for people to work late during monthly closes and it was one such night. He decided to go for a walk to give himself a break and walked into a bar. He got back in after a drink too many and dropped a mission critical database, bringing all the activities in the company to a standstill.

    Those were days when we did not have capabilities to log in remotely or even cell phones – so the phone in my home rang at 2 am. I was asked to get in to work immediately as it was an emergency. When I went in I learnt the story and also that he had been fired. I was able to restore the database and apply the logs. They had only lost 15 minutes worth of data and they were happy. With that came the keys of my first DBA job, and I have not looked back since.

    2. Describe what a typical day is for you?

    I currently work as a senior DBA in a leading healthcare company. I manage about 150 servers, with a team of 3 other DBAs.

    A typical day begins with a quick scan of our ticket queue – there may be tickets for failed jobs, backup failures, space issues or login problems. Sometimes these are small issues fixed easily, sometimes they may take longer depending on nature or complexity.Most of our alerting system and ticketing system is automated eliminating the need for checking individual servers since we have many.

    Following that is checking the queue for change management requests. These may be requests for backups, restores, promotions and the like. Most promotions involve code reviews for standards compliance and also performance – like usage of hints, appropriate indexes and so on. This may take a few minutes or a whole day depending on size of the request.

    Then there may be meetings to attend – a new application to be rolled out, a server upgrade to a newer version, a standards revision and so on. There may be documentation and internal team discussions on new features of SQL 2012, patches and service packs, scheduling off hour work and so on.

    In short, rarely a dull moment and lots of opportunities to learn and grow.

    3. What advice would you give to someone considering becoming a DBA/DB Developer?

    It is probably the same advice I would give to anyone who wants to be good at what they do. Brent Ozar said it very well in a post on time management sometime ago – “Decide you want to be incredible”.

    I have worked in many jobs and most of the time I would look to my colleagues and friends to be as motivated as I was. Many people just want a job – they will go to a training if their boss sent them, browse the Internet most of the time there too, do their jobs on a purely task basis, go home on Friday, return Monday, take the yearly vacation and go on again.

    I got a lot of attitude and a lot of ‘looks’ from people when I got excited about the latest release of SQL Server or the latest great book out there or even if I stayed late trying to fix a query to run faster.

    It took me a while to get it that if I had to excel it was time to ignore all that and do what is right for *me*.

    Passion is nothing to be ashamed of, and if you feel a passion for what you do – grow it and find places that will support it. Grow out of the need to be like ‘them’ and you will find more people like you who will inspire and motivate you to be better.

    Thanks for sharing your story with us Mala.

    You are so right about the need to be both passionate and focused in purpose. To truly realise the value of your advice, one must have experienced the somewhat bizarre need for “the average” (not a nice description perhaps but accurate no less) to quell our passion and pursuit of excellence. 

    Great advice!

  9. Guest Post – DBAvolution

    One of my favourite things about the SQL community is the exquisite diversity of talent of it’s members. Today for the “What’s it Like To Be a DBA” post series, we’re privileged to have with us a gentleman that not only flexes his technical muscles regularly on his blog but who also encourages us to get the grey matter really working with his thought pieces and professional development posts. I really do enjoy this authors work, his content has a wonderful air of class, a distinguished style and I know many of you enjoy it too test. 

    Ladies and gentlemen, please welcome Mr Mike Fal (Blog|Twitter). 

    DBAvolution

    True confessions: when I make small talk, I usually lead with “what do you do”. It’s a little lame, but something we all can answer. However, what’s usually a more interesting follow-up is “how did you end up doing that?” After all, whether we’re speech therapists, inside sales reps, garbage collectors, safety managers, etc….it’s usually an intriguing tale of how we got there.

    What a long, strange trip it’s been

    My tale is twisty enough. I went to college with a desire to be a classical bass trombonist. After 4 years of typical college hedonism at the University of Colorado in Boulder, I got my Bachelor of Music Performance (insert B.M. joke here) and ventured out into the “real world”. That’s when it got hard. I found myself working in a warehouse, trying to get to graduate school, and wondering if I had made the right choice for what I wanted to do with my life. Don’t get me wrong, I love music, but it’s a hard road without a lot of reward. Your love of the art form can be quickly burned and ground out of you.

    Enter my first system administrator. I’ve always been a geek and had an interest in computers, how they worked. He noticed my interest as he fixed printers, replaced hard drives, and did the usual day to day crap. Through him, the company offered me a modest tech support job, which led to some basic work on our Access application (SQL 7 backend), which then lead to query writing and application design. Suddenly, this former musician was another I.T. geek, with an appetite to learn and a hankering to tinker with things.

    What followed was the usual host of job changes, fire-hose drinking sessions, and late nights/long weeks. I toyed around with Oracle, .Net programming, Access (gah), Linux, NT Administration, and a host of other roles and responsibilities. SQL Server always was the glue holding my other work together, the path I managed to hold to throughout the changes. As the years passed, I kept on playing and experimenting. I think the biggest question I kept asking myself was “Is there a better way to do this?” Usually the answer was yes, every once in a while it was no. No matter the answer, I kept learning and building on the knowledge of all these experiences.

    Better, Faster, Harder, Stronger

    Now that I’ve been doing this for 10+ years, I can’t say I’ve seen a typical day. While my current job is your standard operations Database Administrator position, the actual work varies from day to day. Here’s the sort of stuff I find myself doing:

    • Performance: If something is slow, it’s the database’s fault, right? I usually have to drill into the database stats and processes to see what is going on. If there’s a problem, I have to fix it. If there isn’t, I have to explain to others why the problem lies somewhere else. And I usually have to do this all RIGHT NOW. I’ve gotten used to getting pulled off task.
    • Availability and Reliability: This is like being a car mechanic. I fix the broken cars and do tune ups on the ones that run. This includes making sure that we have backups done, that the database is secure, things of that nature. I think this is one of the cool parts, because it means that I’m the guardian of the company’s data, the last line of defense if something goes wrong. It’s a fairly heavy responsibility, but one I enjoy. (Also, it’s one of those things that when I get annoyed, I comfort myself by saying “I could bring the company to a grinding halt in 5 minutes”. Not that I would, but it is a bit of a power trip. :D )
    • On-call: If you work in support, this is an aspect that you just come to accept as part of the life. You will get paged in the middle of the night, you will have to respond to alerts when everyone else is enjoying a good night’s sleep. I look at on-call as a challenge, however. What can I do to not get paged at 3 AM? Am I fixing problems that keep occurring? Am I fine tuning alerts so I don’t get false positives? This can be a rather long list, but I think the goal of every support DBA should be a regular sleep schedule.
    • Technology planning: From purchasing new hardware to implementing new SQL technologies, I’m the company’s expert on where we go next with SQL Server. This means I spend time researching what’s on the horizon and identifying where in the company we can use it. It also means that when we’re planning new purchases for disk or servers, I need to have answers for what SQL Server will need.
    • Documentation: Some folks hate this or don’t see it as very important. For me, this is as vital as any of my other job duties. If I don’t write down what I’ve done and how I’ve done it, this means I become the only person who can do a certain task. I hate single points of failure in my systems, so I don’t want to be one of them either. I make sure I’m spending at least part of my day putting things into writing.
    • Database/Application development: So, this isn’t full on SCRUM/Agile development. What I build is utility stuff. Sometimes it’s a backup script. Other times it’s a set of scripts and tables to collect a server inventory. Maybe I’m writing stored procedures to manage my administrative tasks. Whatever the case, I have to design the database to hold my data, figure out how I’m going to get it in there, and make sure it doesn’t suck.

    How much of this I do day to day varies. Sometimes I spend the whole day (and more) fighting fires. Some days are all about documentation and research. Overall, I’d say that roughly I spend 50% of my time on the maintenance aspects of my job, with the other 50% filled in with research, planning, and administration (meetings, paperwork, etc.). My week is roughly 40-45 hours, though I confess that I work on keeping it down to that level. You often hear of the horror stories of regular 60 hour work weeks. In being a DBA, I’ve learned the value of having a life outside of SQL Server and manage my time accordingly.

    And I ask myself, how did I get here?

    Often I’m asked, “How do you become a DBA?” As you can tell with my story, my path wasn’t well defined or particularly repeatable. I just found one day that I was doing it and liked it. Talking with others in the community (or reading about them, in the case of Mr. Swart’s excellent post), my situation is not unique. I think becoming a DBA is very much an evolution and a career that chooses you, not the other way around.

    That being said, there are a few things I tell people who want the gig. The first is to make folks aware that there are actually several different flavors of DBA (I’ll avoid my rant of the broad-brush use of the term “DBA” for some other post on my own blog).

    • Operations support (this is what I do), where you’re responsible for keeping systems up, running, and running well.
    • Development, where you will build back ends for applications (sometimes combined with .Net programming).
    • Business Intelligence, which has you think about data on a macro scale, how to aggregate data sets and help non-technical people make sense of their data.

    No matter which path you want to take, some of the steps will be the same. For anyone who asks about being a DBA or wanting to learn more about SQL, I also recommend the following books:

    • Database Design for Mere Mortals: All data professionals need to understand relational theory (which hasn’t changed all that much since E.F. Codd wrote it back in 1970). I always recommend this book as a first stop for people wanting to get into the database world.
    • Database Survivor: Tom LaRock’s book was written as “the book I wish someone had given me on my first day as a DBA.” I’ve written a pretty extensive review of Tom’s book on my blog, so if you want the gory details, go there.

    After this, get out in the blogosphere. The wonderful thing about the technical community now as opposed to when I got started is the amount of Internet resources available. The best place to start is Tom LaRock’s blogger rankings, where you’ll find an excellent listing of online bloggers focused on SQL server. From there, explore and build up your own list of blogs to follow. The clue is to satisfy your thirst for knowledge.

    Also remember, not everything out there is right. Trust, yet verify.

    Then, play and learn. Apply your study to gain practical experience. Unfortunately, there’s very few jobs advertised where you can go in cold and learn how to be a DBA. You will need to create your opportunities. Talk to your DBAs, see if they have anything you can help with. Look for a mentor within your own company who can guide you and give you tasks to work on. Track your accomplishments, either through a blog or some other journal. It’s these accomplishments that you can take with you wherever you go. Every interview I’ve been in, the team I’ve interviewed with has cared more about what I’ve done than the SQL trivia I can recite. Do and then show that you’ve done it.

    One of my music instructors over the years (a tuba player, don’t hold it against him) said “Music is a means to an end. You never get to the end, but you gotta dig the means.” This is true of any calling, from artistry to hacking assembly code. If you love working with data, your own evolution as a data professional will grow within that. Your own path to being a DBA may not be the same as anyone else, but it will be no less worthwhile and fulfilling, so long as you dig the means.

    Thanks out to John for letting me share my thoughts and experiences about being a DBA here. I look forward to other stories from the trenches, and I also want to see the common threads. The SQL Family is drawn together by our experiences and the desire to share them with each other, which is what makes our community so strong. If you liked this, consider putting your own thoughts to paper, sharing with the rest of us, enriching the SQL community.

  10. Guest Post – The Last Starfighter

    Today I am delighted to be able to share with you a guest post from one of my all time favourite bloggers in the SQL community. Their high quality, unique and creative content regularly making the cut for a place in the SFTW post roundup. I’ve been an avid reader of theirs for a number of years and I suspect many of you are too. So when they agreed to share their story here on the blog for the “What’s it Like to be a DBA”  post series I was ecstatic and humbled.

    Ladies and gentlemen I give you the Database Whisperer, Mr Michael J. Swart (Blog|Twitter).

    How I Got Started

    There was an obscure sci-fi movie released in 1984 called “The Last Starfighter”. In it, Alex, an average teenager, beats a video-game which turns out to be an alien starfighter recruiting tool. An alien “scout” picks him up and Alex becomes our galaxy’s newest starfighter. The rest of the movie is about him blowing up bad aliens using his spaceship’s secret weapon: Death Blossom.

    Cheesy, Predicatable, Cliche and as a ten year old, I loved every second of it.

    What strikes me now is that Alex got an amazing job/career that he didn’t even know he wanted. This job didn’t exist when he was a kid. The opportunity presented itself and he (eventually) took it.

    That’s me and that’s how I got started. I was good at math (that’s maths for you Brits) and I attended a University where Math and Computer Science students got along quite well in the same faculty. It turned out that computer jobs were easier to get than math jobs so half way through I switched majors from math to computer science. That was me then, a software developer.

    My gigs after graduation basically could be described this way:

    • Web app developer
    • Backend developer for web apps
    • 50/50 software/db developer

    Then 5 years ago, I saw an opening for a job focusing 100% on databases. And it’s one of the best career moves I’ve made. I’m still in this role today as a Senior Database Developer. Just like Alex, the opportunity presented itself to me and I took it.

    Typical Day

    There’s so much variety in what I do, there isn’t any such thing as a typical day. For example today I:

    • Talked about transactions and levels with a software developer who asked me to review his code before checking it in. He needed the transaction to be atomic, but was worried about concurrency.
    • Debugged a utility I wrote that generates code to purge data based on a data model.
    • Reviewed existing code base to identify areas of the application on which to focus. We’d like to turn on RCSI and we don’t want to be surprised with any unexpected gotchas.

    And tomorrow I plan to:

    • Help a business intelligence team with some performance issues they’re having. They’ve already narrowed it down to the performance of a few queries and want to see if I can tune it (this is the fun stuff).

    I’m lucky that my role at work allows for such variety.

    Advice to DBA Hopefuls

    I’ll narrow this down to one piece of advice: Try not focus on just becoming a DBA. I think that complementing skills multiply your effectiveness. For example, instead of becoming just a DBA you could become:

    • A DBA and a software developer (like me)
    • A DBA and a windows or network administrator (this is common)
    • A DBA and a support specialist.

    The last example (tech support specialist) might be one of the fastest ways I’ve seen someone learn quickly. Learning from mistakes (it doesn’t matter whose mistakes) can be a quick way to gain experience when you’re starting out with only a little experience. Probably the fastest way I know of short of finding a dedicated mentor.

    Thanks Michael! You can read more fantastic SQL content, including Mr Swart’s unique signature artwork of course, over on his blog http://michaeljswart.com/

  1. « First
  2. ‹ Previous
  3. 2
  4. Next ›
  5. Last »