Lone DBA Podcast

I recently had the pleasure of being a guest on a Podcast episode with the SQL Data Partners Carlos Chacon (B|T) and Steve Stedman (B|T).  If you haven’t had a chance to attend one of my sessions on Survival Tips for the Lone DBA, this is great insight into it. I share via questions and answers how it is to be a Lone DBA.

http://sqldatapartners.com/2017/03/28/episode-89-lone-dba/

Run Book, Run!!!

run-bookHow many of you actually have a “Hit-by-the-Bus” handbook? What is that, you ask? It is a document that explains how to execute all your jobs and SSIS packages. In addition, I preference mine with all key elements someone might need, like where passwords are stored, architectures, backup times, where are backups stored, etc… then dig into the job steps. The purpose of this document is so that someone with some SQL skills could step in if needed. You never know when you will be hit by a bus or win the lottery and someone has to take over for you.

Important things to note:

  • Step by Step with Pictures
  • Diagrams – Pictures are worth a thousand words
  • Plain English— Do this, then this, because of this, and watch out for that
  • Jobs- Rerun information, what to do if fails, what not to rerun when
  • Make a HARD Copy

Here is an example:

SERVER NAME

JOBS

LoadEDIDataandValidate: Imports a file \\EDI_FTP\CUSTOM_HOLD_RELEASE\EDI35020110908.log of EDI records that were sent from Gentran to Server A and Server B. It then validates that Server A and Server B have posted those records to their systems. Alerts are sent when something does not post with 15 minutes or record is in QUEUE status on Server B for more than 60 minutes. Server A and Server B data are kept separate on purpose do not combine those tables. As of 3/9/2015 It also sends out a TXT message if count is >50 that have not been posted.

Schedule: Runs Daily every 15 minutes between 2:16 and 11:21 am. This corresponds with 15minutes after Gentran begins and ends its daily processing.

Steps: Executes SSIS Package EDI350Import.dtsx and executes 2 stored procedures; jobValidateEDIServerAEDI350ServerB and jobValidateEDI350

Rerun: Can be rerun any time. Right Click on Agent job and Choose Start Job at step… There is only one.

sample

Here are some other examples of rerun information (try to be a clear as possible:)

Rerun: Can be rerun prior to 4 pm. If run post 4pm you’ll have to manually change the date (@pdate) of the data being pulled. Always verify no partial data was brought into table before rerunning clear out any data loaded.

Rerun: Do not rerun. Load the data manually to Server X for any missing data and use date_billed as key field for data pull

Rerun: This job will fail if there is a duplicate XXX number. You’ll need to resolve the duplicate before you can successfully rerun. It can be rerun prior to 4 pm. If run post 4pm you’ll have to manually change the date (@pdate) of the data being pulled. Always verify no partial data was brought into table before rerunning clear out any data loaded.

Why Share My Knowledge?

Don’t try to build job security into what you do. I know many that worry about giving up the knowledge to others. Having the sole “how to” knowledge for some, gives them a sense of job security. While to a point that might be true, it also locks you in to your current position. Many that hoard their knowledge never advance because they find themselves invaluable in their current position. “We can’t move them because they are the only ones who know about such and such”. Why put yourself in that position? If you can’t ever be replaced, you also can’t move up.

As a lone dba, I find this run book to be vital. It allows me to direct someone to the book and I can walk them through running anything I need them to in my absence.  It allows me to take a vacation or a day off while giving others the tools to get things done.

Why is it important to have a hard copy?

I’ve found over the years having some tangible steps in hand to follow and make notes helps those who have to cover for me. It’s very easy for them to grab a book off my shelf and follow step 1, 2, and 3. It also gives them a place to take notes as they go through the steps that I can later use to modify documentation for better clarity.

If you don’t have a run book I highly suggest you take the time to make one. Now keep in mind a run book is only a helping guide. I automate as much error handling as possible and build in code to minimize the use of this of this book.  However, in my opinion it is invaluable.  The book can give you some space for someone else to cover for you and when that day comes when you win the lottery, you will have left everyone with great notes on how to run things.

Now, off to buy that lottery ticket. Wish me luck!

This Idera ACE Has Been Busy

This year has been a whirlwind so far, thanks to the Idera ACE program. For those that don’t know what that is …

What is an Idera ACE? (According to Idera)

ace

“ACEs (Advisors & Community Educators) are active community members who have shown a passion for helping the community and sharing their knowledge. We help the ACEs pursue that passion by sponsoring travel to select events and offering guidance for soft skill training.”

Requirements to become an Idera ACE:

  • Enthusiastic members & leaders of the SQL community
  • Accomplished contributors to the SQL community
  • Good speaker, writer and presenter
  • Demonstrated a passion for educating fellow community members

Being an ACE has been both a very busy and very rewarding experience for me. Idera has given me the means to be able to share my knowledge as a Lone DBA and help others who are also in this predicament make the most of it. Since October last year, thanks to the generosity of the ACE program and the exposure it has given me, I have started my own blog, presented at a total of 9 SQL Saturdays, and 2 User Groups. I have also hosted 2 Idera #SQLChats on Twitter (links below) and participated in a SQL Hangout with Cathrine Wilhelmsen (B|T).

hangoutSo far, I have given my Lone DBA session to over 200+ SQL professionals, tweeted in SQL topic specific Idera #SQLChats to with a combined over 600 tweet interactions and had 200+ views on a video chat SQL Hangout.

One of my biggest talking points I try to convey is the power of networking and getting “virtual co-workers”.  Making those connections with others in the community is vital when you are a Lone DBA. I speak on the importance of building those relationships with those that can help you with their experience and expertise. Being an ACE has allowed me to vastly grow my network of “virtual co-workers”, by letting me travel to so many SQL Saturdays. I’ve had the pleasure in meeting so many speakers and attendees.  I make it a point at each of these events to make new co-workers and offer up any help I can give others.

The biggest reward for me is after my session is when attendees do their homework. Yes, I assign homework.  During the session, I ask each attendee to take advantage of what the SQL community has to offer by getting on Twitter and begin growing their own personal network.  Usually within a few days, many of them have created a Twitter account and has sent me a tweet.  I then take the opportunity to introduce them to the #sqlfamily.  I get a kick out of sitting back and watching each of them get involved in the community because me. It makes me giggle every time.

Of course, all good things must come to an end.  My year as an ACE is wrapping up in the next few months and I just wanted to take a minute and say thank you to Idera for a wonderful program. I encourage everyone to take full advantage of these types of programs and make the most of what they have to offer. I urge those that do, to not only take advantage for themselves but also to pay it forward. Give back to the community in any way you can. We can all benefit from each other with our shared experience and knowledge. The ACE program has really motivated me to get more involved and contribute to the #sqlfamily.

Stay tune to what comes next for me.

SQL Saturdays

 Washington DC

ABQ, New Mexico

Richmond, Virginia

Atlanta, Georgia

Pensacola, Florida

Louisville, Kentucky

Kansas City, Missouri

            User Groups

Richmond Virginia

Nashville Tennessee

            SQL Chats

Building Name Recognition

Building Your Career as SQL Developer or DBA

 

Back to Basics: Why not parameterize?

I think sometimes those of us that have been doing database administration/development for a while take it for granted that everyone knows the basics. One such basic is parameterizing stored procedures. This allows us to potentially consolidate multiple stored procedures into a single procedure.  It’s as simple thing to do that many don’t.

I try to parameterize as many stored procedures as possible. This not only minimizes the amount of procedures I need to maintain, it in my opinion is a much cleaner way to code. It disturbs me when I see multiple stored procedures that pull the exact same data, but may have slight differences between them. Whether it be a sort, a where clause, or even just an extra field or two that makes it different, some developers think you need a different procedure for each one . Why not consolidate and parameterize?

Exhibit A

The code below is an example of a real work scenario.  Originally, it was 8 stored procedures and with 8 correlated reports. By simply adding a Report Type parameter I was able to make it one stored procedure and as well as consolidate to a single report.

To add a new dataset just right click on Datasets and choose Add Dataset. Since the report is a stored procedure we set the dataset connection string to the stored procedure name and its parameters. This is just my preferred method. You can also choose the stored procedure from the drop down.

rep

rptTrackMonthlyStats @ReportType, @year, @startdate, @enddate

rp

In the Report Type parameter, choose add Available Values. I typed in each option so the user could choose which report layout/data they wanted to see from drop down. That parameter will be passed to the stored procedure upon execution and the proper dataset will be returned. The users will never see the T, TD etc. they only see the label so it doesn’t make any difference to them what those are.

Parareport connectiom

You can even go as far as using these parameters to hide and show different report elements, but that’s for another time. Stay tuned for more back to the basics.

NOTE: There are some reasons not to do this, like the reuse of the execution plans and parameter sniffing but in these cases consolidating would not be an issue as they use the same parameters.

QUICK & DIRTY: Table name change for all stored procedures

Recently, I was tasked to find all stored procedures in a database that use a particular table and change them to utilize another table. I needed to get this done quickly so I decided to think simple. Since it was a quick and dirty answer I figured I would share, it’s not rocket science, but useful none the less.

The quick answer that I came up with is to script out all of the stored procedures into a single query window.  This can be done easily through the GUI.  Once that is complete, I can easily do a “Find & Replace” on the table name and we’re done!

Let me show you how!

Step 1: Script out all stored procedures for a database

Right Click on Database > Choose Tasks> Choose Generate Scripts

Generatescrpts

If you have not used Generate Scripts before it has a great wizard to walk you through it. You can create scripts for the entire database or just certain objects. You can even narrow it down to a single stored procedure. In this case I wanted all stored procedures.

scripts1

Step 2: Choose Stored Procedures all or specific ones

scripts2

Step 3:

Then I went to the ADVANCE Options and set Continue on Error to TRUE so it will  skip any issues that might surface. If there are issues, I will address them at a later time. I also chose to create the scripts to a new query window.  By doing this, it’ll be very easy to do a find & replace on the table names.

scripts3scripts4

Step 4: Once the new query window was populated I did a simple find and replace of the table name I wanted to change. I also changed the word CREATE PROCEDURE to ALTER PROCEDURE for all of the procedures so that I would not need to drop and replace.

Step 5: Back up your database!!! Another option is to simply keep a copy of the script before any modifications had been made. In the event of an error, I can just rerun the original script to put things back to what they were.

Step 6: Run Script

In this case, 365 stored procedures were updated and I had the process completed in about 15 minutes. Not too shabby.

*Remember it’s best to always do this in test first.

It’s time to speak again!

My second time speaking at a SQL Saturday is upon us. This weekend I will be giving my Survival Techniques for a Lone DBA session at SQLSat470 Washington, DC.  Living in Virginia, I am surprised that I’m a first timer to this event. I live only 3 hours away but December is usually crazy with my daughter’s dance schedules and I haven’t been able to attend until now.

My session is bright and early as the first session at 8:20 am and going up against some other great sessions. Thankfully they will have an actual barista on hand to make me a much needed espresso. So, if you see me a little dragging first off and then more peppy as we go along you know that the espresso has kicked in. Obviously those that know me know that I am never dragging… so let’s just say if I am a little less lively just give it a few minutes.

dcschedule

So why don’t you start your morning with a little espresso as well and join me, SQLEspresso, for my session!!

I’m It – Survival Techniques for the Lone DBA

Abstract: Are you the only database person at your company? Are you both the DBA and the Developer? Being the only data professional in an environment can seem overwhelming, daunting, and darn near impossible sometimes. However, it can also be extremely rewarding and empowering.  This session will cover how you can keep your sanity, get stuff done, and still love your job. We’ll cover how I have survived and thrived being a Lone DBA for 15 years and how you can too.  When you finish this session, you’ll know what you can do to make your job easier, where to find help, and how to still be able to advance and enrich your career.

Why not attend?

So, if you are in our Nation’s Capital Washington, DC this weekend come out, get some free SQL Training and stop by my session that morning. You can register for the event at http://www.sqlsaturday.com/470/eventhome.aspx  and here is the lineup of sessions http://www.sqlsaturday.com/470/Sessions/Schedule.aspx

November #SQLChat – How to Build your Name Recognition and SQL Network

For those who don’t know Idera Software sponsors a SQLChat on Twitter once a month. This month I got the privilege to host and had come up with a topic and questions for discussion. Below are the questions and answers I provided as well as some from others that chimed in. I think these are worth noting and give some valuable information especially to newbies of the SQL Community.

Q1: How have you benefited from networking with SQL professionals?

My Answer: As a lone DBA networking has gained me “co-workers”. I now have people to bounce ideas off of. I use these connections daily. Many have gained job opportunities based on just networking and getting to know other SQL professionals. I actually know several companies that hire based on SQL Networking relationships instead of utilizing recruiters. Networking exposes you to so many other facets of SQL you may not have otherwise looked into. My follow- up responses are depicted in italics.

A1: I have met incredible people who opened doors for my career. I wouldn’t be where I am today without them – @SQLDBA Kendal Van Dyke

I too have experienced this.  Getting connected and familiar with the SQL Community can really launch and expand on your career.

A1: If you don’t talk to folks in the same prof. you in a silo in many ways that can be a serious obstacle to progress – ‏@sqlmal  Malathi Mahadevan

I totally agree with this one. I found myself before I started networking in my own little world not really expanding my knowledge.

A1: I’ve built my network & ID’d a Go-To SQL Person for a variety of problems: Backups, mirroring, index, optimize, etc – @IrishSQL Rie Irish

I actually talk about this is my SQL Saturday presentation. Getting Go-To experts in all aspects of SQL Server is key, especially for a lone DBA like me. You cannot be an expert in everything, but you can build a network of those who are experts in their own realm of SQL Server.

A1: I was burnt out & wanted to change professions before I went to my first UG mtg and started meeting people and it re-energized me –@sqlgator Ed Watson

It is so easy in this field to get burnt out. I truly love how inspiring and motivating our community is.

Q2: What avenues have you used to build your SQL network?

My Answer: Twitter first and foremost. I am on it almost every day talking to SQLFamily and building those relationships. Even if it is just to say “Good Morning!”, people get used to seeing you every day and you becoming more involved. I also blog now and speak at SQL Saturdays. Now that I am an Idera ACE for 2016 you will be seeing more of me this year as I travel around to more SQL events. I am extremely excited to get even more involved.  Another great aspect of this community is that it’s easy for introverts to mingle their way in because it’s so inviting. We have lots of introverts in this community. There is a place for everyone.

A2: I’ve found that while SQL Sats, Summit etc are helpful, adding in Twitter is like rocket fuel for the process- @sqlstudent144 Kenneth Fisher

This is very true, add Twitter to your networking tools and you will see how much of an impact it will have.

A2: On Twitter since an amazing #SQLPass at the recommendation of @GlennAlanBerry been blown away by the SQL Love and support on Twitter – @_adamnichols Adam Nichols

I love this one. It goes to show how inviting our community is to new comers. The passion for what we all do shines through even in just 140 characters.

A2: Twitter! SQLSaturdays, user groups and events like PASS Summit and SQLBits. Newest is Slack – @cathrinew Cathrine Willhelmsen

The WIT (SQL Women In Technology) group has just started a new Slack channel, for those ladies that want to get involved, drop me an email or direct message I’ll get you invited.

A2: I joined the #sqlchat today and from reading the Tweets, it feels like a great SQL resource – @crhanks Cary Hanks

This is exactly why we do these types of things. It helps to get more involved and share our experiences with each other.

Q3: How can newcomers get started on networking within the SQL community?

My Answer: Get a Twitter account! Just start interacting don’t be afraid to jump into conversations, we don’t bite and I hear we have cookies.  Make sure when you setup your Twitter account and use SQL in your handle or at least in your Bio. It helps us recognize family members. In addition, change your avatar to an actual picture of yourself, start getting yourself out there. It’s great to put a face with a name.

A3:  Advice for to newcomers is to start with your local user group, attend SQL Saturdays and talk to the organizer and Tweet. – @LindsayOClark Lindsay Clark

If you don’t know if your town has a local user group, visit the PASS website and look it up.  If there is not one near you, try a virtual chapter those too are a great resource and way to get involved.

A3: Agreed if it is on Twitter and you can see it, it’s a public conversation –jump in. – @DanielGlenn

This a great tip to remember and several others chimed in and stated the exact same thing. Jump in to conversations freely, people will respond to you. Don’t be afraid to do so.

A3: Getting out of lurker mode on Twitter helps. Introduce yourself! I  often suggest new users of Twitter give a look to @BrentO’s free ebook on the topic brentozar.com/twitter/book@vickyharp Vicky Harp

This is fantastic resource for those new to Twitter. Great advice Vicky! I also completely agree with getting out of lurker mode. You can gain a lot by watching conversations and reading the information shared but you again even more by participating.

Q4: Do you have name recognition? Why do you think that’s important?

My Answer: I am working on building name recognition, I’ve begun using SQLEspresso on my blog, cards, and emails. I think it’s easier to remember then a name. I think building name recognition just opens doors it is not about becoming “SQLFamous”.  I’ll admit it floors me when someone recognizes me as SQLEspresso, I get a kick out of it.

A4: I heard “Oh, hey, you’re @AMtwo!” more than once at PASS Summit. Name recognition helps build relationships – @AMTwo  Andy

I’ve had this same thing happen, many others in the chat said they did too.  Since we are all located all over the globe social media, blogs etc. are our personalities and only interaction with many #SQLFamily members.  It’s important to build that name recognition and keep building it in order for people to remember you because of the lack of in person interactions.

A4: I have some name recognition. Enough for me. It helps when I need answers & gives more weight when I give answers – @IrishSQL Rie Irish

A little goes a long way. I agree with Rie, the more your name is out there the more credence you responses and questions get.

A4: I try to use the same photo of myself everywhere to help with self-brand recognition –  @johnsterrett  John Sterrett

This too is great advice. If you are trying to build a brand or name recognition consistency across all platforms is a must.  I’ve actually just started doing this myself.

Q5: What names or brands do you recognize? Why do you think that is?  

My Answer: There are so many names in the SQL Community I recognize because they make themselves visible and give back to the community.  They also promote others to get involved; you can see their passion for SQL Server and its family.

A5: Brent Ozar (wicked marketing chops) Paul Randal, Kimberly Tripp etc. They all have excellent branding –@sqlrus John Morehouse

These are a few of the “big” names you see every day. Why are they big names… because they give their time and knowledge to our community. They are active and are consistent in their brands image.

A5: I recognize people who write books/blogs, who speak at UGs & SQL Saturday type events, & engage, on Twitter. –@SQLDBA Kendal Van Dyke

I think Kendal’s response enforces the idea of noticing those that get involved and give back.

A5: Leaders are “created” by their efforts and community acknowledgement. The most referenced names are that was for a reason. – @tomsql Tom Staab

A5: I think cheerful helpers in the SQL community gain name recognition whether they seek it or not. –@vickyharp Vicky Harp

I can’t agree more with Tom and Vicky. You don’t have to seek name recognition it is naturally created. You probably have more name recognition than you think.

Q6: How do you find time to network and build your personal brand? Are you able to do it as much as you’d like?

My Answer: I make time. Even just a little here and there makes a difference. I take a minute every day to pop into Twitter and say Hi.  I have started writing a weekly blog, as time allows and I give my time to my SQL user group. For those who know me personally they know I have a crazy schedule and as a lone DBA my work load is tremendous but the SQL community is important to me and I find time to network and get involved. It’s worth every minute of my time.

A6: I spend time building my brand and networking without knowing I am doing it. I focus on things I am passionate about so it’s really just my hobby time – @johnsterrett  John Sterrett

Many people have a brand and don’t even know they do. It’s just something the freely develops and can be cultivated if wanted.  I also find and think most people will agree if you’re passionate about SQL server it is a hobby for you and you make time. It’s one of the great things about our careers; we find it fun and don’t think of it as a job.

A6: I wish I could spend time participating in #SQLChat today. A meeting’s preventing me from it. Just wanted to say I <3 #SqlFamily –@DBAArgenis Argenis Fernandez

This is exactly my point. You make time. Argenis wanted to support me in this #SQLChat and made it a point to make time. Thanks Argenis!

All and all the chat session went really well. There are a lot of take a ways from this. The few I have I highlighted here helps drive home my point.  My notifications on Twitter blew up with so many responses; I wish I could include more in this post. We actually broke a record for Idera on the most tweets and involvement for a #SQLChat with over 370 tweets.  Thanks to all that played a part in the conversation, I hope it was as fun for you as it was for me. I am looking forward to next month’s topic.

Everything is coming up ACE’s

I am thrilled to announce that I have been chosen as one of the 2016 Idera ACE’s. It is truly an honor to be part of this great program and give back to the SQL community.

What is an Idera ACE?

According to Idera.small ace duck

“ACEs (Advisors & Community Educators) are active community members who have shown a passion for helping the community and sharing their knowledge. We help the ACEs pursue that passion by sponsoring travel to
select events and offering guidance for soft skill training.

Requirements to become an Idera ACE:

  • Enthusiastic members & leaders of the SQL community
  • Accomplished contributors to the SQL community
  • Good speaker, writer and presenter
  • Demonstrated a passion for educating fellow community members

My SQL Saturday Addiction

Recently I joked on Twitter, that I am now addicted to SQL Saturday’s and need a GO FUND ME just to pay for them all. Well, that is no longer the case. As an ACE, Idera will generously sponsor some of my 2016 speaking engagements. This year I will have attended 5, next year with Idera’s help I hope to attend even more.  This amazing gift will allow me to not only grow in my career but also help others to as well.

What I Love About This

Being an ACE doesn’t mean we have to be sales people for Idera. Instead we are given means to enrich our knowledge about Idera along with opportunities to give feedback. We get to participate in Beta testing and tell them how we have used their products in the past, to help them continually improve. I cannot wait to start working with the product teams.

The Need for Tools

As a lone DBA, I rely on products such as those from Idera to juggle my daily work load. As I say in my session about Survival Techniques for a Lone DBA, I have to be an octopus to get all the work done. Products like the ones from Idera act as my extra arms. They allow me to quickly monitor my servers, perform administrative tasks, and perform health checks among many other things without having to write my own scripts. The time these tools save me is invaluable so I am happy to be able to contribute my input on them.

Thanks

I thank Idera for investing in me. I will fully take advantage and make the most of it. I am humbled by the fact I have been chosen as a 2016 Idera ACE. Congrats to the other newly appointed ACE’s, I look forward to working with you!

 

Initial SQL Server Configurations

Wonder if I Do Things Differently?

I am always wondering what other DBA’s do and if I am doing things differently. One such thing is my initial server setups, basically, what I configure for each of my new servers. So, why not blog about it and see what others chime in with after they read this. Keeping in mind that everyone has different requirements and different ways that they like to do the actual configurations.

For now, I am not going to go into what each one of these configurations do and why I choose the value I do. That’s for another time. If you want that information you can always go to Books Online or just Google it. In this case, I am just going to give you a running list with scripts; that I’ve added too over the years based on best practices and experience.

How Does Yours Compare?

I’d really love to hear what others do and if I may have missed something that you like to implement that may benefit me as well.  So leave a comment, tweet to me, or send me an email let’s compare notes.

The List

So here are the basics setups I do on every server post install in no particular order.

* Value varies based on server configuration

  1. Min and Max Memory *

  1. Enable and Configure Database Mail ( This is only to enable, full script will be in later post)

  1. Set Default Database Locations

  1. Set SQL Agent Job History Retentions

  1. Set Cost threshold for Parallelism *

  1. Set Max Degree of a Parallelism *

  1. Set Optimize for Adhoc work loads

  1. Change Number of Error Logs

  1. Create Cycle Error Log Job

  1. Add Additional TempDB Files All With Same Size and Growth Rates *

  1. Set Media Retention

  1. Set Backup Compression Default On

  1. Change to Audit Successful and Failed Logins

  1. Set Default Growths in Model Not Be Percentages

  1. Set AD Hoc Distributed Queries off 
  2. Set CLR Enabled off 
  3. Set Ole Automation Procedures off 
  4. Set Scan For Startup Procs off 
  5. Set xp_cmdshell off
  6. Setup Operators

  1. Set Up Alerts 17-25 and Error codes  823,824,825 (Remember to add the alerts to the operator)

Note: Most of these can be set using GUI as well as the scripts above. Also, in addition to these configurations, I make sure that the server is brought up to the most current stable CU or Service Pack. Everyone’s environment is different, my list may not be right for you.

Master of None

Being a Lone DBA gives you so much exposure to so many facets of SQL Server. Since I am just one I get to work on Replication, Administration, Security, Business Intelligence, Disaster Recovery, Reporting Services, Integration Services, Analysis Services, Database design, Development, Performance… you name it I get to dabble in it. However, being able to work on every facet also means I will never be a Master at any of it and that’s okay by me.
jack

For a Type A personality, like me, this is a hard thing to come to terms with. I‘ve learned with time to be fine with not knowing everything. I relish in the fact that I get to do and experience MUCH more than most. Those that are not Lone DBAs have to divide and conquer or are responsible for just a hand full of areas (like security, or DR, or Change management). However in our line of work, there is always a need for GO TO Experts. Through networking, I have gained several friends that have become my experts. I have an expert for things like PowerShell, Database Internals, Storage, Availability Groups, T-SQL etc… If I need expert knowledge on something they are always willing to lend a hand. If you don’t have a network of GO TO experts whether you are a Lone DBA or not, I strongly suggest you start building those relationships.

So, that being said, I will never be one of those GO TO experts. However, if someone asks a question if I have ever done something or had a particular issue…in most cases the answer is yes.  How do I accomplish that? The answer is by creating a broad skill set. I self-teach by dabbling in things. I am not afraid of trial and error. I learn all the SQL Tools I can and use them where appropriate.  I attend as many SQL training events I can manage.  learmingI am always trying to further diversify my knowledge base.  I attend my user group meetings (now run them), virtual training sessions, watch 24HOP sessions, I get the Summit Sessions on USB every year to watch when I have time, and finally I attend SQL Saturdays.  All of these avenues are great ways to further my knowledge base.

The most important tip I can give is learn just what you need to get most jobs done and don’t try to master it. It’s okay to be a master of none, revel in it, and embrace you get work on so many things. It will make you very marketable; there are not many of us that are given that opportunity.