What’s on the Schedule?

Posted: September 8, 2014 in Events

For the next couple months I am going to be running around crazy. I figured I would take a few minutes to post my schedule. If nothing else to remind me of where I am supposed to be.

Tuesday Sept 9th – I will be doing a session with my good friend John Morehouse (T|B). We will be speaking at the 24 Hours of Pass, this will be a free event. It is designed to give everyone an opportunity to get a taste of the PASS Summit without the travel.

Sept 13th – I will be headed over to Kansas City to Speak at SQLSaturday #300. I always enjoy going to Kansas City. It’s a great time and the team there does an awesome job putting everything together for the event. The session in KC that I will be doing is Outages; Dispatchers, Cops and Detectives

Sept. 21st – I am staying a bit local, Denver is hosting SQLSaturday #331. I can’t think of many things better than doing an event so close to home, I don’t have to take a plane or an extended drive in the car. In Denver I will be speaking about Managing a 0 Downtime Shop.

Sept. 26th – I will be doing an invite only event on approaching real world SQL Server design issues in Denver. This is going to be a full day event full of useful information.

It looks like I will have the first half of October to move to Mission Texas with a short 1 week engagement in Dallas. Plans are still coming together for that. However after I get settled in to Mission Texas and start the next stage of my life where I learn how to say All Y’All I will be headed to the best SQL Server event of the year where I will be doing a full day pre-con for the PASS Summit, and a standard session at the PASS Summit. As if that is not enough for one week, I will also be attending the MVP Summit.

Now if I can only find some time to go take some pictures of the leaves changing colors here in the Colorado Mountains…

I hope to see you at one of these upcoming events.

Back From 2014 CodeStock

Posted: July 17, 2014 in Events

Last week I had the privilege to speak at CodeStock in Knoxville, TN. I have to admit that I was not all that pleased at taking a red eye flight, but that is all on me. The city of Knoxville was nothing but a good experience. I found myself just amazed at how pretty that city is. The location for the event was awesome, and the food in Market Square was great as well. In addition to the great event that was organized the attendees were very kind. All in All I had a great experience, and for the first time in my life I was called ‘Shug’ short for Sugar.

My slides and a couple short scripts can be found here. If there was something I mentioned you wanted to see and I forgot to post it please send me a note and let me know.




All Day Pre-Con Event

Posted: June 25, 2014 in Events, News


John Morehouse and I were sitting around during a recent SQL Saturday talking about what experiences we learn the most from and how we can use that to help us when we are speaking at an event of some sort. We found that being able to relate the topic that we were teaching back to an example that attendees can relate to worked really well for us. So have some crazy brain storming we came up with this idea.

We both are sitting down with some requirements and some data. We will both have the same environment yet we are going to work independently to see who can come up with the better solution. The goal will be something measurable and when we meet at the PASS Summit in November we will see who as the best solution. Here is where you come in… If you want to see what solution wins and why it does you will be able to. We will be presenting this as a Pre-Con to the 2014 PASS Summit.

As we talked about the idea more and more we decided that we can make the session a bit more realistic, so we are going to spend the afternoon making changes to our environment and to the winning solution to see how it works with the requirement changes that always jump into projects. We will test things like versions of SQL Server and when you change the hardware. So if you are ready, come join us, I can assure you there will be a lot to learn and we are going to have a lot of fun doing it.

In the red corner representing Colorado Springs, standing tall at 5 foot 6 nothing but attitude. Armed with a staggering 17 years of experience for a right hand and striking fast wit for the knock out on the left. Your 5 year SQL Server MVP, Pass Regional Mentor, and Colorado Springs User Group leader… Chris Shaw.

In the blue corner, backed by corn huskers and fire fighters, a true hero dedicated to destroying poor database performance and the sharing of database knowledge. Lighting fast reflexes and in depth knowledge is unleashed to deliver lethal blows. The towering, the intimidating and the inspirational to so many… John Morehouse.

In case you wanted to see the official Abstract we included it here. We hope to see you there. To register check out this link.

Real World End-to-End Performance Solutions

Do you ever wonder how other people approach real world business objectives from start to finish? The success of a project can be hampered from decisions that are made before a single row resides in a database, and yet often there is no one single best solution, because different people will approach a problem from different angles and there are countless variables along the path that are critical to success. If you make a mistake at the beginning, costly redesigns may haunt you for years to come.


In this powerful yet entertaining full-day pre-conference session, we will start with two different database professionals with two different skill sets. The speakers both have very different ways of approaching a project (and are both set in their ways!), but both have the same measurable goal. Whose process runs faster? Join this session and see the results.


In other words . . . “Let’s get ready to Rumble!”


What may appear as the end of the session is really only the beginning as variables and limitations are added and various questions are answered: What happens to our project when we are forced to use GUIDs (Globally Unique Identifiers), or when we push our solution to the cloud? Does the introduction of new hardware improve the overall outcome of our test? Do we see faster performance with SQL Server 2014 over SQL Server 2012? Join us and find out!

Does this sound familiar?

8:00 PM and you are watching your favorite TV show Survivor when out of nowhere you are interrupted with an on call page. You log on to check the servers, and for some unknown reason “it” has hit the fan and the server is spiraling out of control (By the way, if you don’t know what sound is makes when “it” hits the fan just say MARINEEE out loud). You grab your DBA hat, some Mountain Dew and you settle in to take care of the problem and walk away the hero. But, it’s not going just as plan… It’s now 3:30 AM and for one reason or another you are still working. It appears that all the planets have aligned and you are facing one issue after another. Just as you think you have a handle on the cursed issue that is keeping you awake at this time of night some new issue shows up and you realize that you will be enjoying your next breakfast at your desk.

If you have been a production DBA for some time I assume that you have a few stories that you could tell me, I know I have more than a few that I often share when I am speaking at events. I think these are the moments that define production support staff. It is difficult to fight off the frustration, the lack of sleep and the stress of having a production environment down. Seasoned administrators become the way they are based on these experiences and use them, to better their skill sets. As the “Crisis” is occurring different decisions are being made…

  • Do you apply a hotfix?
  • Do you reboot the system?
  • Is it time to look at restoring the whole thing?
  • How much do you worry about collecting evidence to find the root cause compared to spending that time correcting the problem?
  • And many, many more.

However, I believe there is one question that is more important than any other, and you need to ask yourself this question over and over again. Are you in the state of mind to make good decisions?

The self-pride that most of us have would default the answer to the question as yes. We don’t want to think there is a point that we can act and react logically. However, we have to remember we are human, and no matter the experience we can fall victim to the stress. When we do, we may be less likely to apply best practices such as documenting each step we take or double checking each action before we move to the next task. The end result is when a crisis occurs the stress is the natural fall-out. As the problem increases and progresses you may find yourself needing a backup, or trying to find a backup and what if that backup us bad… the stress kicks up a notch. Life gets real, when you start to operate without a safety net.

Example: A few years ago I was in one of those book studies a company required. The coach was going on about how people don’t make me mad, only I make me mad and we can control when we are mad. I tried to explain my point to the coach, that human nature comes in and sometimes there are just situations where some issues are just going to raise emotions that are going to make people mad. I provided the example of my father. I lost my father 21 years ago just a few days after my 21st birthday, and well this is a very sensitive subject for me to this day. At one point many years ago, someone insulted my father. Was I mad? Oh you bet I was, and I don’t care what anyone says, the person who insulted my father made me mad. I can control my reaction to my emotion but not the actual emotion itself.

Granted the example is not a technical one but with all the emotion that is going on during that discussion was that the right time for me to make critical decisions? When stress reaches a new level you have to stop and ask yourself if you are in the state of mind to make the critical decisions that need to be made in the time of a crisis.

If you answer yes to the question and you can do so without any doubt, then proceed with applying good practices for troubleshooting and correction issues that are in production.

If you answered no or even a not sure, then it is time to re-evaluate the situation. The easy answer is that it is time to step away from the situation and get someone to take over for you, but what if you can’t? What if you are the only resource and if stepping away means that you are just going to prolong the problem then what do you do?

  • First you need to start triple checking every move you make. You may think that code you are executing is in the right database, but check again. I have dropped a database in production on accident, and I can tell you that the second I hit execute, was the same moment I realized I was connected to the wrong server. I will go one step more and say I will start disconnecting all my sessions, and will not re-connect until I am ready to execute.
  • After you have checked for the third time, now write it down. For years people have been preaching document what you do, yet I very rarely find this to be the actual case. But if you are of the mindset where you should really be in bed… Well document everything before you do it. Why, well the mere action of writing it down may trigger that thought in your head that says wait, is this the correct thing to do.
  • Nothing helps me more then when I explain what I am doing to someone else. It doesn’t even have to be a DBA, or someone who has any understanding of what I am doing. The process of explaining verbally helps me double check that I am thinking about all the downs stream impacts.

I am curious, is there something that you do? How to you protect yourself and just as important how do you protect what you are working on from mistakes?


Team Work

Posted: May 9, 2014 in Career

When people talk to me about my time in the Marine Corps I am often asked about boot camp, they want to know if it is as rough has Hollywood makes it out to be. Do the drill instructors yell at you and do they continually insult you and try to break you down. Well the truth is… yes they do, but if you think about why I am sure you will understand and it comes back to team work. Consider this, in the movie A Few Good Men,

I eat breakfast 300 yards from 4000 Cubans who are trained to kill me“. –Col. Jessep

If you think about the full concept of this statement; you might ask; why doesn’t Col. Jessep fear the 4000 Cubans that are trained to kill him, why does he casually get up each morning and enjoy his breakfast.

Later the Col. refers to how people can rest easy sleeping at night. The mission of a drill instructor is to train young men and women to become Marines, and being a Marine means you are part of a team, a team that works together so well that when a Marine looks to his left and sees another Marine, that he or she knows they can sleep sound, their team mate will take care of them just as they would themselves. Granted working in the civilian world this may sound a little drastic, at least I hope it does. I hope you don’t low crawl to your desk to avoid the Customer Service department so the snipers don’t have a clear shot. However, I do think there are things that can be learned from how Marines are a team.

I could tell many stories about Marines not getting along with each other. Sometimes to the point of fist fighting, however when there is a mutual goal in sight, the accomplishment of that goal overrides any ill feelings towards fellow Marines. Having a Clear Goal and defined tasks to complete the goal help manage the relations that impact the team. When a team member is falling short, then his or her fellow Marines are responsible to bring them back up to where they need to be. It doesn’t matter if one team member is failing; the goal is still the most important thing. When we look at how we approach IT work, when we focus on what needs to be done, hopefully the team performs as a team and meets those expectations.

What happens when a lagging Marine cannot keep up in the hike, or can’t shoot as well as they should? How do they approach a team member who falls short? Marines are part of a family, a brotherhood and if a family member is in need of assistance then the family is responsible to help them. Maybe a brother needs help to move, or a grandparent has health issues, hopefully the surrounding family is there to help accomplish the goal. How do you handle this in the business world? The same way, team members will need help from time to time, it may be the need to cover an on-call shift, and it might be learning a new skill. As a member of the team it is your responsibility to help, remove obstacles that get in the way of completing a goal.

Most work as a Marine is accomplished in Squads. Each individual in the squad may have different areas where they consider the responsible party; there might be a Medic, a Communication expert, someone who is a mechanic for example. In business I can see how teams are created with the same methodology; a database team might have a replication expert, a tuning expert or someone who works well with Active Directory. Teams that work well together have shared goals/responsibilities as well as the individual ones. If we look at the example of a Marine squad the whole squad may have the mission to patrol an area, and each team member contributes with their skills and individual responsibilities. As a DBA Team we are no different, our goal is to support the company database, if the database slows down it is the responsibility of the team to get the performance issue corrected.

Have you taken a look at the team you work with? Do you know where the individual skills that each team member has contributes to the overall goal of the team? It may just be a good time to reflect on how your team works together and how you can help others on the team. Some tasks that individuals consider a waste of time, such as documentation are critical if someone else on the team needs to jump in and help accomplish the goal. If one aspect of the goal is forgotten or neglected, then the overall goal is at risk. Imagine if the Medic in the Marine Squad is unable to help with a medical issue because he is not in physical shape enough to keep up with the team, not only did the Squad lose the medic and is down a person, but if another team member gets hurt and requires medical attention, the squad is now short 2 members. The goal is now at risk.

Actions of team members and team leaders need to be focused on either helping individuals to do their part in reaching the overall goals or the overall goal itself, if team member cannot contribute to reaching the overall goal then quickly they become a liability.

How is your team work?


What a Great Weekend

Posted: April 14, 2014 in Uncategorized

SQL Saturday #297


On April 12th we had the 3rd SQL Saturday hosted in Colorado Springs, Co. The event meet and exceeded all of our goals, our goals may not line up with some of the other SQL Server Saturday traditional goals you may have heard of. We share similar goals of reaching the community and providing quality SQL Server based education for little or no cost. However, we get a bit more specific. We want to magnify the importance of networking within the community and this year in particular, we were hoping if the attendees were presented with an opportunity to give back to the community they would respond. The SQL Saturday Attendees responded with a statement that even exceeded the wildest imagination of the organizers.

The Food Drive

When touring potential facilities we found that our number one choice had a food bank that shared space in the facility. We saw this as an opportunity for the SQL Server Community to give back to the community that was hosting this event. The plan was to ask speakers, attendees and sponsors to donate food items for the food bank. We had two sponsors that offered us two SWAG gifts that were so above and beyond anything we had hoped for. Xtivia was fast to react and donated an Autographed AC-DC guitar, Dell was also quick to respond with a new Dell tablet. We had a Valorem Consulting that was not sponsors donate a gift card we well. We even had support from SQL Server Users Groups in neighboring cities show support with donations. We even had people ship us food to donate because they could not be at the event.

End Result? Early and conservative numbers shared with me from the Westside Cares food pantry show over 1000 pounds of food donated. That is a hard number to get a hold of, so we have attempted to put this into easier to understand numbers.

There was so much food, it will be spread across four food banks in Colorado Springs.

This is an average of 5 pounds of food per attendee.

The weight is equivalent to 4,000 quarter pound cheese burgers.

I hope to post a blog in the near future about the Food Drive specifically. I think if we as organizers give the attendees an opportunity to give back into the communities that we live and work that we can make great events even better. I just don’t think there is enough that I can say about how well this went.

What happened to the Guitar?

Remember our goal was to help show attendees the importance of networking? We had an attendee who works at a local office supply store. She is close to 22 years old and is working at the same time attending a local college to get a degree in either database technology or networking technology. This young lady showed one of our attendees a level of customer service that ended with an invite to the SQL Saturday. She came to the event looking to network with others who work with SQL Server and learn about the certification tests. This young lady was the winner of the Guitar. My personal hope is that she received a lot more than just a guitar; I hope she left with connections that can help her all the way thought her career, from learning about SQL Server to getting her first Full Time DBA job to retirement.

Who do we need to thank?

Attendees – What an outstanding response to the food drive.

Speakers – Most of the speakers travel to these events all around the world at their cost. They don’t get reimbursed or sponsored for these trips. They simply want to give back to the community and improve their speaking skills.

Sponsors – The end result is that the events cost a lot of money to put on. There are adjustments that we can make if we don’t have a good budget but the support from our sponsors help pay for: the facility, lunch, giveaways, cleanup, projectors, coffee, afternoon snacks and so many other costs. Without the sponsors this event just would not have been the same.

PASS – One of the reasons we can have an event like this is the support we receive from PASS. Not only do they provide us with a website, but countless management tools that removes some of the tasks that each SQL Saturday has to do. This year we were lucky to have PASS’s Karla Landrum and her husband come out to help us. They were a huge part in the success of our event.

What we did well.

The food drive – I am sure there are things that we could have done differently to make the food drive better, but honestly I just don’t think there is any argument that 1000 pounds of food is anything but an awesome response.

Speaker Dinner – Our SQL Saturday had been fortunate enough to have a Data Realized as a top sponsor; they have been with us for all of the SQL Saturdays that Colorado Springs has hosted. What they contribute to the event cannot be thanked enough. This year not only did they provide backpacks for each attendee, but they also wanted to host the speaker dinner. When we were talking about what to do for the speaker dinner we wanted to make sure that our speakers had an evening that gave everyone there exposure to our local area. Data Realized wanted to make sure it was nice, and showed that we really do appreciate all the speakers do for us.

We ended up at a local restaurant and theater called the Iron Springs Chateau. The facility did a great job hosting us. The 50 year old restaurant was a great choice for a venue and the melodrama we saw was a lot of fun for everyone.

Our Venue – Our event was at a 100 year old facility that started life and an elementary school. For the cost of the facility in comparison to what we received in addition to the staff that was happy to help us

Set up and tear down – I cannot say enough about all the volunteers. We had 2 hours to set up before we had to head over to the speaker dinner and the facility was closing for the night. There were a number of very strategic items that had to occur at this time, and we were worried that not everything would be completed in time. I was shocked when we were doing setting up an hour early. If you are looking into hosting a SQL Saturday, I cannot urge you enough to work closely with all the volunteers.


I was recently having a discussion with a client and they were looking for recommendations on how to handle a common security issue with SQL Server. Here is there situation, they have a number of applications that connect to the database, and security was implemented by using Windows Authentication. The application required read and write access directly to the tables so this required that each of the users had direct read/write access to each of the tables in the database (starting to feel uneasy yet). It didn’t take long before people were connecting directly to the database to start making changes outside the application, or pull reports of their own. Even if the data was not sensitive, and it was… making changes outside the application created all sorts of problems.

Then answer was pretty simple and came in the form of application roles.

Access can be granted to the individual users either by each account or as a group. The permissions can be limited to allow for log on only. Once that has been completed the application role can be created using the Create Application Role syntax. Permissions can be granted accordingly to the application role that allow for the direct table access.

When this is done and someone logs on via the application the application can issue the sp_setapprole and that connection can now use the elevated permissions. If the user were to try to connect to the database without the application role the elevated permissions are not there unless they have the password for the app role and set that role for that connection.

So in other words the application becomes only access method to the data as long as permissions are not granted elsewhere to the individuals user account. This is a great way to take advantage of everything that AS has to offer in the way of account and permissions management without having to worry about opening the database up.