Latest Event Updates
Communication 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.
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.
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):
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:
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)
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!
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?
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.
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.
Don’t let that flame burn out
Keep Pressing Onward
I 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:
Able to see big picture
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.
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
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.
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:
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:
The Search Begins
Once you have this open I’d like to point out a few items.
- 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.
- 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:
- 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.
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:
…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
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.
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:
I know why you are here and I know what you’ve been doing. You hardly sleep and why night after night you sit by the computer; you are looking for what they call ~ The SQL Knowledge. I know because I too have looked for the knowledge, and when that knowledge found me it told me I was not really looking for it; I was simply looking for an answer. It’s the question that drives SQL Data Professionals and is the question that brought you here……
The SQL Matrix is comprised of many components and with that comes SQL Data Professionals from all walks of life from all over the world. It has been amazing to see components of peoples skill set come together to provide different view points on various topics.
Well, I’m about to welcome everyone to the Desert of the Real where real SQL Data Professionals collaborate with one another on various topics related to SQL. What you will come to know as MCJJ (Mickey Stuewe, Chris Yates, Jeffrey Verheul, and Julie Koesmarno); you will find four distinct Data Professionals who seek to gain more knowledge inside the SQL Matrix and provide thoughts and real life scenarios into series of blog posts.
With that said I now must tell you; you have two choices:
- You can take the blue pill and go back to sitting in front of your computer all day long stuck in the mundane rut that happens to all of us
- You can take the red pill and join MCJJ on this collaboration effort and perhaps hopefully pick up some new and interesting SQL Tips along the way.
The option is yours what will you decide.
Check out my peers reviews tomorrow and also check out the others collaboration release posts.
Please visit the following links to see the unique views of my collaborators.
To follow our quest for SQL knowledge through this collaborative project, follow the #SQLCoOp tag on Twitter.
I attended my first PASS Summit back in 2011 in Seattle and quickly realized that I could be doing more for the community that what I was currently doing. When I came back I thought I could tackle the SQL world, leap tall buildings in a single bound, round up all the unnecessary bad practices and so on. The SQL Corner came about as a meeting place where people could come and gather to find solutions, present new techniques, and share some knowledge.
It has been an enjoyable three years in continuing to write for this blog and other avenues. I have realized that over time I enjoy being able to discuss what I may be going through and solutions found to issues that occur in an DBA’s life.
As time has progressed the community has seemed to welcome what The SQL Corner represented “Leadership Through Service”.
Time For A Change
With time, things change. In the latter part of last year I’ve developed a passion for writing more, sharing more in the community, and speaking to various groups. I started to see morphing The SQL Corner into something more; transitioning it over to what will become the SQL Professor.
Why The Change
The name change represents where I am at and what I’d like for the SQL Corner to become; a place for “continued learning”. In my 12+ SQL career one thing has always remained the same – there is always something to learn and always a skill set to work on. For me, I believe this is why I enjoy working with SQL so much. I enjoy coming into work everyday and the job of being a DBA. With being a DBA comes great responsibility and striving to continual learn new things is a passion that I hope will never burn out.
With all that said you will start to see some renovations being introduced over the next few months both from this blog standpoint, social media, etc. I’m thankful for the ride I’ve been on over the last few years and looking forward to what the new journey will hold.
Feedback is welcome