Category Archives: SQLServerPedia Syndication

Worst Day As A DBA

5Worst_FoRG-banner_613x90_ChrisYates_V1

I remember the day pretty vividly, it was in the summer months and I was as green as green can be coming into the technology field. Walking through the doors to the start of my career  I was ready to tackle the world. The training for new hire sessions had already been completed and it was game time. I didn’t know what a SQL High Five meant at the time but I would have given one to everybody as that is how I was feeling walking through the doors.

The introductions began and I got the normal “new guy”, “fresh meat”, “greenhorn” labels that most people call newbies. As we turned the corner I noticed something that looked a bit off to me. A pen cap stuck in the keyboard by one of the developers. Hmm that is odd, they didn’t teach anything about pen caps in keyboards in college. That person was not at their desk at the time but we did find them in the break room and he was introduced to me as one of the developers.

Time past and the introductions complete I went back to my desk in my little cubicle and couldn’t help but think back to that pen cap. The curiosity was too great so off I go; back over to the desk with the pen cap, mind you this is about an hour later.

Hey man, I got to ask you a question. What’s up with that pen cap?

“Oh, yeah I was building an import process and I forgot and left a MSG box in there. I started to load the files in and instead of stopping it I figured this was a quick way to get through it.”

Hmm, interesting tactic but the red flags and sirens started to go off in my head. Being the new kid on the street and the youngster I went to one of my peers and started poking around a bit. Explaining what I saw I was amazed to learn that this in fact had happened before.

“Before”, little did I know those 6 letters would start to build the foundation of my DBA career. What, wait a minute….”before” you say? Yeah, ole Billy (no not his real name) over there has done that “before”. Nice, so I go back to my desk again and sit down. I take out a pen and paper and start writing down my questions.

1. Where is Billy loading this data?

2. What kind of data is Billy loading?

3. What kind of access does Billy have?

4. Does my boss know this?

5. What method is being used to import the data?

6. Who is the business owner?

Now realize I hadn’t even turned my computer on yet to get the lay of the land. Off I go with my questions.

Um Hey Billy, just out of curiosity where you loading that data? Prod he replies

My heart sunk, I knew the writing on the walls and where this was going. What kind of data are you using? Client data for our system. Back to my desk I go; sit down flip on the computer. I started researching, digging, and sure enough my thoughts were now a reality.

Dev Ops had gone rogue and had access directly to prod. Remember the pen cap; well after realizing that the import was loading more data than the file had in it we discovered the app didn’t have a stopping mechanism and no duplicate checks. In the end we were loading a 100,000 record file 8 times!

Light bulb goes off in my head, as I turn to colleague. Hey where is the last backup? It is on x drive but it won’t do you no good. Why is that I ask; yeah it’s a week old. We run them manually before we leave for the day.

In the end that worst day started off my worst week but looking back I believe that worst day started the groundwork for a solid foundation. How or why is that you ask?

1. Security – I’m a huge proponent of it and probably rightfully so after enduring the major cleanup that ensued.

2. Documentation – no documentation was found anywhere; we all can do a better job of this; me included.

3. Don’t be afraid to speak up; if something is off to you question it. Research it. Dig in and figure it out.

4. Just because something is done one way for years doesn’t mean it is the right way. Evolve and become more efficient. Do you think having a pen cap on an enter key to load data is efficient?

5. If you are a newbie and seasoned vet review your systems on a routine scheduled basis.

6. Backups – are you taking them? If so are you in turn testing them or validating them?

Some of the things I know now that I didn’t then are handy utilities such as Red Gate’s SQL Backup Pro that could have benefited me; take a look at their arsenal for the data professional. A wide range of products that will allow you to streamline your processes and tasks.

I look back on my time there and we brought it so far. We righted the ship but it was no easy task and is not for the faint of heart. It taught me to chip away at the wrongs and turn them to rights. I speak a lot about being a game changer. That means if you see something amiss go after it. Make it right.

While I have had a few “worst” days since then, I’ve learned one thing about being a Data Professional ~ being one comes with a price tag of having great responsibility. Don’t abuse it.

 

5worst_1_300x250_NEW

PASS Summit – What Does It Mean To Me?

PASS_14_Google_240x400 (1)PASS Summitwhat does it mean to me? So listen, I’m not perfect. I will never claim to be and you will never her me utter those words. I make mistakes every day, but I try to learn from those mistakes as much as possible.

I was asked by several people yesterday via email and word of mouth conversations what PASS Summit meant to me and how are community is. During the work day I was not able to keep up with all the happenings since session selections came out, but I did catch quite a bit on my feed. Since being approached and being just one voice in this big game I thought it prudent to share with others what PASS Summit has meant to me.

For me personally, PASS Summit changed my career. I rolled into town (Seattle) back in 2011 not sure what to expect. Brand new to this scene; I didn’t know anyone from anybody. I can still remember to this day walking into the convention center thinking to myself, “What in the world did I get myself into?”

Each session I went to seemed to give me something I could take back and incorporate into my job. I was able to meet and interact with fellow colleagues in technology from all over the world. It exposed me to another part of what we call “The SQL Family” I had not known before.

I can recall purchasing the Deep Dives book and introducing myself to all the MVP contributors. Eating breakfast and lunch with 5000 people before going to learn and try to enhance my skill set. It lit a fire in me for my career that I hadn’t had before. Some of the techniques learned then are still part of my everyday work now. So, as you can see the PASS Summit has meant a great deal to me and where I am at today.

Fast forwarding to today; what spawned these questions to me by others stems from session selection discussions. I will not dive into processes or procedures as I am not privy to the background and the inner workings of selection of sessions. That’s not my goal nor do I want it to be with this post. I see many points some valid and some not in my opinion; however I do believe that is part of being a SQL Family / community. We can share our thoughts, opinions, concerns and review processes, policies, and procedures. It is the basis and foundation on how we grow and improve. At the end of the day we are all in this together.

I look forward to attending this year and learning from a great group of speakers. Heck all the volunteers, speakers, attendees take time out of their families lives, work schedules, and the like to attend. It is definitely a unique environment and one that I hope can continue to grow and overcome hurdles.  Who knows I hope in the very near future my session is selected maybe then I to can share what I’ve learned along my journey.

Looking back I can honestly say the conference in its entirety changed my career, my outlook, and my drive. I don’t have all the answers but I will continue to give it all I got day in and day out, and from a past attendee I thank all the speakers (both old and new) and the volunteers that make this happen.

What about you? What do you think about PASS Summit? What are some of your opinions on the process for selections? Can we improve; if so how?

 

SQL Saturday 286 Roundup

IndianaWeslyanI got to admit, this SQL Saturday was a power packed lineup with some really good talented speakers. Due to other speaking obligations I was unable to submit a session or attend the full day, but the first half of the day did not disappoint. The venue at Indiana Wesleyan was fantastic and my hats off to all the speakers and volunteers.

I was able to attend 2 and a half sessions (yes you read that right as I wasn’t able to stay for the full time for the last session). I didn’t realize it then but looking back was glad to see that the sessions in which I did attend were my fellow Friends Of Red Gate colleagues.

Session 1: The day started off early with a session on Changing Your Habits To Improve Performance of Your T-SQL  by Mickey Stuewe ( B | T ). The session was a smooth session that captured the audience both with intelligence and structure. Several good points on how to improve SQL queries, formatting, and cursors. It was even nice to see an attendee ask what formatting tool was being used; which the reply was SQL Prompt.

Not long into it one of my fab five walked into the room Mr. Steve Jones ( B | T ) himself. It was an honor to meet him and have him give a session here in Louisville even though I could not be in attendance for it. He was one of the most down to earth people I’ve met in the SQL Community thus far.

Session 2: Next up on the list was a speaker I’ve been wanting to hear for awhile ~ Wayne Sheffield ( B | T). His session was titled Table Vars & Temp Tables – WHAT YOU NEED TO KNOW!  This session was not for the faint of heart as we dove into a fair good amount of technical data surrounding myths and the like. A very interactive session that provided some great insight into the internals of the structures found in tempdb etc. For those who have not heard Wayne speak on this session I urge you to download the session and go through it at your leisure; there is a treasure trove of goodness to be found.

Session 3: Last up on my list prior to my departure for my own speaking engagement was none other than the Scary DBA himself Grant Fritchey (  B | T ). His reputation proceeds him, but I found it awesome that when I walked in that he was doing burpees (which is a form of Crossfit training). His session was one I wanted to stay for Best Practices for Database Deployment. Grant is one of the coolest speakers I’ve been able to hear in a while; not sure if it is because I can relate the DBA portion or what but the first half was spot on with structure of DBAs, developers, releases and finding the middle ground. At the end of the day we all want to end up at the same goal and working together not against each other is key.

I hated to miss Steve Jones,  Ed Watson ( B | T), and Jason Brimhall’s ( B | T) afternoon sessions but glad they are able to be downloaded here. (please check the schedule tab; downloads will be found there)

I’m glad I was able to meet a lot of new faces and interact with some fresh talent coming up. The community is alive and well guys; groups like what was experienced today in Louisville shows the eagerness of people wanting to learn. Taking their own time out of their own days; thankful for families who support us in our SQL endeavors. I can’t wait for next year to submit some session(s).

None of today would have been possible if it wasn’t for Malathi Mahadevan ( B | T). My hats off to you for your continued effort year in and  year out.

Until the next time……

Trumpet Sounds; Call To Post

ChurchillThis past weekend was the KY Derby. All eyes are on this one day of horse racing; celebrities come in to town in what seems to be a whirlwind two days. According to experts over 100 million dollars is pumped into the local economy.

I get to see all the hoopla firsthand, and throughout the week can walk down the street from the shop and see no telling who walking down the street on their way to the limos, Escalade’s, and the such.

The Race

Then comes the day of the race. The big race where people go to the track spend the day, and then in the evening for 2 minutes, which has been deemed by others as the most exciting 2 minutes in sports, the horses are loaded in and off they go. Some 160k people cheering in the stands and millions of dollars are at stake.

The horses start off in a pack going into turn 1,2, and 3. Jockey’s maneuver their way in the field to position themselves for that final stretch. Turn 4 and horses are in their stride; jockeys kick it into gear and now an all out sprint ensues. Sometimes there is a dead heat; sometimes there is a huge gap, but nonetheless it is a mad dash to the finish.

The DBA Race

As I went throughout the week leading up to the Derby my mind kept wondering to how closely it reminded me of the life of a Data Professional. Being a Data Professional means that you will be in the same space and many other fellow Data Professionals and if you pay attention closely all jockeying for that last leg to the finish line. I’ve kind of stepped back and started looking at how I was running the race.

If you go at an all out sprint in turns 1,2,3 would you really have anything left on turn 4 in the home stretch?

What if you laid back in the field and waited for the opportune time but come to find out you waited to long and the bottleneck wouldn’t give you a clear shot at the end goal?

Or you could be like the one jockey I saw get thrown from their horse during the race.

I’m finding that being a Data Professional and, to be more exact, being a DBA my journey can be at times related to a race. I remember when I first started out how excited you become; just like starting out of the gate. Then, as you go through your journey and you see some of the Data Professionals that you started out with start to fade. Whether they get burned out, choose a different career, move on, or whatever the case may be the numbers start to drop then it is another cycle where new faces come in.

The Call To Post

The trumpeter starts the call and in walk the Data Professionals, as we get ready to prepare to run our race don’t settle for the being average. What are some of the ways when you start out of the gate as a DBA you can do to prepare yourself  for the journey? I’m not sure there is any one right answer but I can share with you what has helped me along the way. It’s not rocket science and it is not something that you can snap your fingers and it be done. If this helps just one aspiring DBA then so be it; it would be worth it.

  • Community – I was late to this game and had I become more involved with the community earlier on in my career I believe it would have helped me more. I’ve already elaborated on my “Fab Five” and if you haven’t read that yet check it out. For me I looked for people in my industry who were at the top of their game and who I knew were what I considered the best of the best. Learning from others in the community is a huge positive and one can garner much knowledge from others if we would do just two things – be still and listen.
  • Initiative – how bad do you want it? If you are expecting someone to hand you success and you are a data professional then you are in the wrong business. Early on in life I was taught discipline and a hard work ethic. If you want it that’s fine; go after it and prove to yourself that you can do it.  One quote I always remember being told to me is that “Somewhere someone is practicing getting better at the skill and goals you want to achieve; how bad do you want it?”
  • The Craft – learn it; live it; breath it. If you are a DBA like myself then what are some of the things that you can do to enhance your shop? Perhaps it is implementing a maintenance strategy around index fragmentation, or is it disaster recovery? Have you restored that backup yet, do you know if you were asked for a restore from 3 days ago could you do it? How about exploring the Plan Cache and getting a feel for how your stored procedures are acting? Oh wait do you know if you have any missing indexes present in your current environment? Speaking of environment have you documented your environments yet? So much work to be done in this are that a paragraph in a blog post doesn’t do it justice.
  • Ask Questions – have you ever been in a session or speaking with a group of people and you wanted to ask a question but didn’t because you thought it would make you appear to not know what you are talking about. Guess what, we’ve all been there. The end of the day every question is valid. If you don’t know then say you don’t know; research and find the answer that is called learning. The challenge is to continually learn; go back up to my Community point. My “Fab-Five” are ones that continually learn and hone their craft and skill set.
  • Don’t be afraid to make mistakes – now don’t take this point and execute something in production that causes your company an outage and money. No that’s not what I’m saying. Think outside the box; test new alternatives and do so in a manner that meets your shops integrity and criteria with environments.  Why wait for someone else to come to a solution; everyone can bring something to the table.

The Roses

Every horse that wins the Derby is dawned with roses over their mane. Guys I don’t know when my race will end, but when that time comes I want people to realize that I gave it my all with integrity, character, honesty, and in a trustworthy manner. I want that developer to be able to come to me and not worry about me chewing his head off (yes that has happened before), or the network guy who can come talk to me about space concerns, heck why not throw in the business unit requesting some help with architect something out. No we (DBAs) aren’t perfect and days will come where we flat out fubarb and make a mess out of it, but guess what? How did you run the race?

Rest assured we’ll get to the finish line one day. Let’s have some fun along the way and realize that we won’t be perfect everyday, run a steady race, and continue to work hard day in and day out. For it is in the face of adversity when true character will shine through.

For those just starting out check out the advice in a collaboration John Sansom made happen that I was honored to be a part of. For those that have been around keep working hard. Hard work will pay off; keep fighting the good fight.

RedGate SQL Search Has What????

CollaborateImageThis week I am back at it with my SQLCoOp friends in sharing the goodness of a utility that has helped us all ~ RedGate’s SQL Search plug in for SSMS.  This utility has always been helpful in perusing through the schema of any SQL architecture in the search for the gems that we as data professional look for.

The Quest

The outlook was grim and bleak recently one day at the shop. I could recall a portion of a job name and step name for that matter but couldn’t find it for the life of me. The server I was on at the time had a vast amount of jobs on it which I will save for another day.

I will admit frustration started to set in and I started to just open up a query analyzer and start writing some code then it dawned on me…..I had just downloaded a new version of RedGate’s SQL Search Utility. I recalled from the version that they extended the search into SQL jobs; at that moment it was like a light bulb went off in the old noggin.

Now, if we are honest, we all like to work smarter not harder and save time along the way; with that said I decided just to crack this utility open and give it a shot.

Let’s Go

First thing I needed to do was fire up SQL Search inside SSMS. To do this and for the sake of explaining I will be showing this use case on my local, because well, we shouldn’t be showing the world our prod servers now should we! As you can see below firing up SQL Search is simple an easy. While on my local instance if I click on the SQL Search highlighted icon it will bring me to my SQL Search screen where I can then expound on my search criteria.

FiringUp

I had to define my search; I knew a phrase in my job but didn’t know the whole name….so with that said typing in what I knew and not selecting the exact match I knew would pull back the full job name; or so I thought.

 

Phrase

Now this is where it gets really good and makes the SQL Professor very happy. RedGate decided to go on and throw job search functionality into their updated utility. If you click on the All Object Type drop down you will see a Server Object called jobs. Simply go ahead and check that. Now for my use case I went on ahead and checked them all.

Jobs

So, what have we done up to this point is type in our phrase, ensure the jobs server object is check then it’s giddy up and go time. After letting the search occur in all databases I find the results I’m looking for:

JobResults

My job name pulled back along with the actual step detail. Whoa wait, I had no clue I’d get the detail with it as well. Hats off RedGate this is something that every Data Professional can utilize and is a tool that saves time. It took me less than a minute to do a quick search and pull the information that I required.

Like What You See?

Listen, this just is one avenue in which RedGate has enhanced this product. I’m an everyday Data Professional that goes into work everyday and wants to work efficiently. Check this product out for yourself here

Some of the other enhancements made are:

  • Search in jobs
  • Select multiple object types and databases to search in
  • Improved indexing
  • Search with % wildcards
  • Search with Boolean operators

I tell you what; check out what my other colleagues have to say on the matter and how they have benefited from this utility:

If you want to read more about the newly released SQL Search, don’t forget to check out these blog posts:

 

On a SQL Collaboration Quest

Four SQL professionals gathered from the four corners of the world to share their SQL knowledge with each other and with their readers: Mickey Stuewe from California, USA, Chris Yates from Kentucky, USA, Julie Koesmarno from Canberra, Australia, and Jeffrey Verheul from Rotterdam, The Netherlands. They invite you to join them on their quest as they ask each other questions and seek out the answers in this collaborative blog series. Along the way, they will also include other SQL professionals to join in the collaboration.

Communication – is it key?

Communication2Communication is easier now than it has ever been. Whenever we need to get in touch with somebody, we can call, e-mail, or text, regardless of where we are and where they are. Geography isn’t an issue; we can instantly send a message to somebody halfway around the world. Some people even text each other while they are in the same house – just because they don’t want to get up and go to another room. Without much effort, we are almost always “connected” if we want to be.

But have you thought about what we may be losing when we depend more on electronic contact and less on face-to-face communication? When we’re with others, we understand them much better. We can read facial expressions, pick up on emotional responses, and communicate our own feelings very clearly. The results is more interaction, more depth, and more substance.

The communication tools available to us today are wonderful. It’s great to be able to get in touch with people anywhere, anytime, and I wouldn’t want to go back to being unable to contact someone easily when I’m out of town or need a quick response on an urgent matter. I like being able to keep in touch with my family regardless of where they are. But when we start to depend on technology as a substitute for one-one-one time with each other, we are missing an important key to relationships. In forming virtual bonds, we may be forsaking the benefits of true human interaction. We need to make sure we are not so connected with everything out there that we miss the chance to connect with the people directly in front of us. Being connected means thinking of others and reaching out. Make that happen as often as you can.

Each person, and or leader, is different and has different methodologies and view points. One of the key components or attributes I have found in leadership is communication and having an open communication with other team members and business units. When was the last time you had effective communication in a meeting? When was the last time you had effective communication about an idea with a team member? Let’s take it a step further, when was the last time you had an open dialogue with your team? Building confidence and building a team takes a strong and discipline element composed of communication.

Don’t settle for the status quo; become an exceptional leader and/or an exceptional Data Professional. Be the game changer and motivator your team needs today.

Windows Functions; Who Knew?

CollaborateImage

SQL windows functions, it would seem, get lost in the shuffle most of the time when dealing with SQL. Why do you think that is? I honestly think that it is more or less developers, DBA’s, and data professionals are oblivious to some of the cool features that can be accomplished with its utilization. To put it simply windows functions could be viewed as looking in “windows” of your data. That is about as simple as an explanation as I received when I first started using these types of functions.

Example

Take the below table structure that I created on my local environment in SQL. My table name I created is called CustomerLog within that table I have two columns CustomerFirstName and CustomerLastName (represented below):

CustomerLog

For example(s) sake lets say I have a vast amount of data in this customer table and I want to partition it out and view just how many (categories) or windows I am looking at. This is where the windows function comes in nicely. With the below query I can find the results I am looking for pretty quick and easy:

Code

As you can garner with the above SQL windows function code you can derive how many customers share the same first letter in their name (result set below)

CustomerLogResult

Bottom Line

As you go through the SQL journey note that with any aggregate function being used you can turn that into a windows function by utilizing the over clause. You can only use windows functions though within the select or order by clause. This example only showed you how to partition using windows functions and only scratched the surface. It would behoove you to do some more research on what all you can do with SQL and window functions. Also, while you are at it; check out some of my colleagues as well

Mickey Stuewe: A Date At The End of The Month

Jeffrey Verheul: Write readable and high-performance queries with Window Functions

Julie Koesmarno: ABC Classification With SQL Server Window Function

Don’t sell yourself short. I guarantee once you start utilizing windows functions  you will want to use them everywhere. Just make sure you know the positives and negatives and as always just don’t blindly copy code from the net. Explore it, set something up on your Dev or VM sandbox. Failure to learn is not an option!

 

Growth In The Face Of Adversity

 

StumbleAdversity as described in Webster’s Dictionary is a state, condition, or instance of serious or continued difficulty or adverse fortune.

Not really a topic most want to talk about, but nonetheless is something we experience on any given day. There are all types of adversity if you think about it. The Data Professional might face adversity on the job, one may face adversity with their health, or one may have ongoing issues with family. Whatever the case may be adversity at some point in ones life will come.

How does the Data Professional handle adversity when it rears it’s ugly head?

You look at your board and you see over 20 initiatives waiting to get completed, a process on one of your SQL Servers is executing extremely slow and you need to figure out why, log shipping decided to croak and you need to ensure that you get this back up and operational, and to top it off your core business server decided to fail over to another node all of a sudden.

All that ever hit at once? If you’ve worked in this business long enough than you realize that adversity will present itself in some form or fashion ~ it’s inevitable. If you have not had to be faced with adversity before than you will at some point.

With all that said adversity does not have to be viewed as a negative occurrence. Looking back, in my own circumstances of being a Data Professional, I see that in some of these instances it is where I have grown and built the experience that I longed to obtain.

Get your learn on

Let me ask this question; when is the last time you ventured out and really dug in and started to learn something? If you had down to learn CMS or Policy Based Management would you depend on others to facilitate that or would you install it on a local machine or spin up a VM and start tinkering around with it and how it works?

In today’s work environment we have so many tools at our disposal; so many community members who are willing to help and offer advice. One of the best phrases I ever read stated, “Failure to learn is not an option”.

The Peaks and the Valleys

Careers can be a set of peaks and a set of valleys. Have you ever heard someone say, “I’m stuck in the same old mundane rut”. How do you break that? One great thing about being a data professional is that we have so much that goes on in a given day. If you really step back and look at it you can start your morning on SSIS, follow it up with some log shipping or disaster recovery planning, review capacity planning, heck why not even throw in some learning of Always On and column store indexes.

I’ve seen the gamut from professionals who are on fire, the flame starts to dwindle, they get burned out, and then you never see them anymore as they move on to other things. Will that be you?

The Opportunities

Now here is the great part that is just lying around the bend. Opportunities abound ~ daily. When adversity strikes don’t get faint hearted or weary. I have first hand knowledge that inspiration is rampant through the SQL Community. When we fall we pick each other up, when you least expect it someone that you works with SQL from overseas will say one encouraging word that will ignite that flame that was about to go out.

Yes, I know it won’t always be a bed of roses for this is the game called life, but how do you handle adversity when it comes your way. Tackle adversity head on, it is in times when you are faced with something great that character is built and learning abounds.

Game Time

It’s fourth quarter and game is on the line. It’s now time as a Data Professional to “D” up. Tackle every day as if it were your last and when you seem to faced with adversity whether it revolves around SQL, learning in general, Cubes, Azure or whatever the case may be – stop, assess, learn, and grow from it.

Be Challenged

Don’t let that flame burn out

Keep Pressing Onward

Get After It

SuccessI was over at John Sansom’s Forum (Blog | Twitter) this week and it was refreshing to see some posts of Data Professionals eager and excited to learn new things and setting their sights on some personal goals for themselves.

It actually motivated me to think about where I came from, where I’m at, and where I want to go. Beyond that though it triggered something in my mind that in reflecting I kept noticing, like the post from the forum I mentioned above, I have been approached many times over about the life I live as a DBA and my daily activities.

How Bad Do You Want It

Let me ask  you something, how bad do you want it? The life of a DBA is not always a bed of roses; it takes hard work on a continual daily basis with continual honing of skill sets, knowledge, and dedication. Don’t get me wrong, rewards obtained are great but nothing is handed to you in life.

The persona of the DBA being perfect is just that, a persona. We all make mistakes but here is the catch. The good or extraordinary DBA’s admit and learn from those mistakes and build on their knowledge base from those mistakes.

Example: Business comes looking for a backup and when you look you notice that your backup process has been failing and no alerts have been set up.

Seems pretty simple right? DBA 101 material however I have seen this happen. Now do you blame someone, step up fix it and take the blame, or start looking for another job? Here’s the thing that keeps coming back to my mind – every day we have choices and how we handle issues. How do you go about handling those issues?

Being A Complete DBA

Is there such a thing? Different views and opinions. I’ve been fortunate and blessed to be involved with SQL for over 12 years now and one thing has held true. I learn something new every day. Whether it is from own experiences, webinars, training, it seems to always be evolving and that is why I enjoy being a data professional so much.

It has been defined to me growing up that attitude is what you or I feel or think about something or someone. What is your attitude toward your career? Do you view your role as a Data Professional one that is defined as a service? In writing this I was reminded of an article Grant Fritchey (Blog | Twitter) wrote back in August of 2013 Database Administration as a Service. It’s a great article well thought out; one of the major things I took away from this article was the call to action.

With Being a Data Professional Comes Great Responsibility

Let’s face it; if you are a data professional than you are entrusted with a great deal of responsibility. If you don’t think that is true just look at the latest security breach in the news. Companies look to you for advice, ensure systems are up and running, data is available when needed, what to do in an event of a disaster, security, security (did I say that twice??)

My own personal opinions of “some” characteristics of a DBA are:

Integrity

Punctual

Thorough

Character

Teacher

Communicator

Able to see big picture

Trustworthy

Willingness to learn

This is just a few characteristics that stick out for me. There are plenty more, I have not even scratched the surface. You can see where I am going here, a data professional is a unique individual, where’s many hats at times.

Am I a master in all the areas of being a DBA, no and guess what that’s okay. I come from a background where I firmly believe I can always learn something new. Early on in my career I remember Brent Ozar (Blog | Twitter) mention that he picked up something new. If guys that I look up to in the industry are continuously learning then I should never be in a place to say – I have arrived…no, my friends, that will never happen.

Leadership Through Service

I cannot do justice to what I stated Grant shared in his article; however it is an important topic to address in its own section. Even in my own shop, being part of a corporation I still believe this holds true. DBA Teams provide a service to the company. When I first started out as a DBA, I like many others have had, I had a developers background. I immediately saw a gap and that will always be there to some extent. Guess what though, DBA’s can coexist with developers. DBA’s can also co-exist with QA teams, and Infrastructure Support teams, and business units. Tear down the walls that have been built up; in the end whether you are in a shop or out on your own the work being done is for the betterment of a team. If the team doesn’t do well then guess what, well you know what happens.

SQL Professors Call To Action

I ask again, how bad do you want it? If you have been wanting to learn more about the ring buffer what steps are you taking to get there? If you don’t have a DR plan in place on core boxes what is your actionable item? If you have poor performing stored procedures what are you doing to fix them? Oh that index that is missing, have you tied it together to the source of a problem and verified that you really need it? Maybe your replication is broke, in that case find a big wrench. Whatever the task at hand may be how bad do you want it?

Are you stuck in a rut? Are you satisfied with status quo? I’m biased but I believe that we have one of the best jobs in the world; we should have some fun along the way and learn something everyday; while remembering that we are not perfect. Mistakes will happen; pick yourself up, dust off the scrapes and move on.

The SQL Family

It has been said over time that if you are involved with SQL you are part of a family, time and time again I’ve seen this as a close knit group of individuals who, when we see someone fall, dive in to help pick them up. If you aren’t involved; guess what – IT’S TIME.

Closing

It’s never to late to start learning, getting involved, or getting back into the game. Just like this community is ours, our professional development is ours. You have the ability to mold and shape your career. Seize that opportunity with confidence and humbleness. Be bold but courteous. Every data professional can bring something to the table – HOW BAD DO YOU WANT IT?

*credit photo to Phil Mickinney

Headache + Pain <> Red Gates SQL Search

Recently, I started diving into my utility belt. There are tools that I’ve had at my disposal for some time, some that I have tried and not gone back to, and ones that I use everyday. This has a definite potential to start exploring these utilities over the next couple of months and one that I touched on last few weeks that I want to expound a bit more on today is Red Gates SQL Search utility.

I’ve come accustomed to this utility as being my quick hit Sherlock Holmes style of investigating all sorts of issues that a common data professional may encounter throughout the work day.

The Utility

SQL Search is a “free” tool that is an SSMS add-in that pretty much allows you to scan across all databases for a plethora of information for all objects. How do you access this utility?

Once downloaded and installed within SSMS you will find it on your tool bar as indicated below:

SQLSearch1

By clicking on the SQL Search icon or by utilizing the hot key of (CTL+ALT+D) you will open the SQL Search Tab in your current listed session below:

SQLSearch2

The Search Begins

Once you have this open I’d like to point out a few items.

  1. In the last image shown you will notice that in my Object Explorer I have my (local) instance selected and highlighted. If I had multiple instances in my Object Explorer SQL Search would open the tab on whichever instance I had highlighted.
  2. I can now begin my search. I have multiple options at my disposal on what I can check for and I can set limitations or filters if you will by selecting what type of object I’d like to filter on as noted below:
  3. The last two options are self explanatory with what database you are searching in, but I do want to point out the last option where I have (local) in my drop down. Currently, I do not have a second instance fired up in my Object Explorer; if I did then you could click this drop down and hop over to the other instance. This feature is offers nice compatibility when you have to work with multiple instances at once time.

SQLSearch3

By Jove Watson We’ve Found It

Now here is where the magic begins. For example, I know that I have a table called Release but I cannot remember where I saw it at, or maybe you’ve been in a meeting before and you leave with schema names but you’ve never seen the lay of the land before. Well here you go; if I type in the term Release and set it for all objects, scanning all databases my results are below:

SQLSearch4

…but it gets better. If you look at the link that says “Select object in Object Explorer” it will take you directly to the location inside the DB where the object is located for review

SQLSearch5

Fancy but now what?

SQL’s version of Scotland Yard says this is all well and good but can it do more? Let’s step back and think about this a moment. The whole goal, with any business I hope, is to make processes and procedures more efficient. This utility makes a strong case for the data professional to add this to their arsenal. Here are some real examples on what I utilize this tool for that haven’t been mentioned thus far:

  • Off and on code reviews are done. Have you ever ran across the infamous /* TO DO */ comment? Heck I’ve put those comments in before in my own sp’s noting I need to finish something at a later time. I can quickly scan a DB and easily find these gaps in seconds
  • Select *; don’t fool yourself. While these are frowned upon they are still used. Utilizing this tool has helped me pin point such code in seconds which then proceeds my conversation with the author of the code or update
  • I’ve utilized this utility as my central hub for branching out when I know parts of names to objects. Gives me quick insights into the schematics of the database and what dependencies objects have prior to making any changes
  • Efficiency – this one word carries so much weight. I wish I had this utility when I was first starting out; for me this product is definitely a game changer and did I mention it is free? Why not take advantage of it > go check it out now you know you need it in your data professional tool belt

Are You Using SQL Search Already?

If you already are utilizing this utility then drop Red Gate a line and let them know what your thoughts are on the subject; Red Gate always enjoys getting feedback and I have never seen a more thorough company in taking use cases and every day occurances by the user and figuring out how they can make their products better.

Contact Red Gate

More utilities from Red Gate

If you like what you’ve seen thus far; than you haven’t seen anything yet. This will become a mini series I’m proud to work on with some other individuals that are part of the Red Gate family. To see their twist please check out:

Julie – SQL Tools Review: SQL Search
Mickey – On a SQL Quest Using SQL Search by Red Gate
Jeffrey – How SQL Search saves you time