Monday, October 24, 2011

Yeah for SQL Monitor, Boo for SQL Monitor

Over the weekend, starting on Wednesday evening, I was on vacation. In Utah there is a school break in the Spring and Fall, sometimes with the kids having an entire week off. I took Thursday and Friday off, and we headed south to visit Zion National Park. We had a glorious time. Internet connectivity was via WiFi while we were in the campground only. Our cell phones stopped receiving cell signal about 40 minutes from the National Park, and remained eerily quiet for the duration of the weekend. This is a blessing and a curse. Knowing that things may go awry and I may need to pop into my databases always leaves me a bit uneasy. So, as often as I could, I connected to the WiFi and checked my work mail. A few times a day, usually in the morning and evenings.

On Sunday morning I was able to connect and to my surprise, SQL Monitor had captured a slew of error messages. 10 or 12 of them in a row, all occurring since midnight. My heart skipped a beat. What was going on... some digging ensued.
I feel so luck to have SQL monitor watching my systems, and emailing myself, along with 2 others in the IT department. If something awry occurred, it would let us know, and if I didn't jump on it, at least the other 2 humans would know via email something was up. So, something was up. I found it, and was investigating. Thanks SQL Monitor for watching my DBs while I climbed to Angels Landing in Zion National Park.

What was the error that SQL Monitor was complaining to me about? A nice generic one. 'SQL Server error log entry'. This means that something happened, was logged into the error log, and, well, that's it. Just that that think happened. If you are like me, your heart starts skipping a few more beats. As I looked at each alert down the chain, they were all the same. What I didnt notice at this juncture was that each alert was coming to me via email roughly and an hour interval. This is valuable to know, as it wasn't 12 alerts about 12 error log entries. It was an alert about an error log entry, and it was being repeated every hour. Much different story. So i dig deeper. To do this I need to drill into the alert itself and look at more details. Now I learn the following

The Database ID 6, Page (1:118112), slot 0 for LOB data type node does not exist.

The suggestion was to run dbcc CheckTable on the offending object. I need to know what database that is. Database ID 6. Is it one of my important databases? or a lesser important one? or a supplemental one. Which one is it... aaarrrggghhhh, I NEED TO KNOW!!! Since I had been out in the mountains, it seemed like my TSQL-fu was lacking and it did take me a minute to remember I could query sys.databases to see which one was Database ID 6. This was probably a few seconds, but in the panic of digging, it always seems longer. So, Database ID 6 turns out to be the database RedGateMonitor. Whew. Its only that db that is having an issue. A couple of quick DBCC CheckDB commands later I realize that all other DBs are in proper order. At least at the instance that I ran the CheckDB command. (hehe). So, I run on the RedGateMonitor and it encountered an object that has some issues. It is the object 'data.Cluster_SqlServer_SqlProcess_UnstableSamples'. I have no idea what this is, or if its needed, or what I should do with it. But, since its RedGateMonitor itself that has an issue, I figure I have some time.

Yeah for SQL Monitor for finding an issue on my DBs. Boo for SQLMonitor for its own object becoming funked up.

So, as you picture this, picture me on the top bunk of our camper, in my jammies (the desired PG rating refused to allow me to let you picture me in my undies), with a laptop on my lap, hooked into the RV campground WiFi, hunting down this issue. I am much more calm now that I know what db and what object is causing the issue. I quickly pen an email to my crew letting them know that I have discovered the issue, and a fix will come at some point, but until such time, we will continue to receive emails about every hour reminding us. Luckily its the weekend, and they can be ignored. My next step was to tweet my question about this object to #sqlmonitor and #kickasssupport. Knowing that someone will see it, and we'll get going on a solution soon. Maybe on Monday, maybe before.

Sure enough, I come in to work on Monday and see a tweet from @JowleyMonster with suggestions on how to remediate my issue. After a few attempts at recovering the data in the table via backups, I resorted to simply running a DBCC CheckDB with repair_allow_data_loss. I had to put the DB into SINGLE_USER mode first. Then run the DBCC CheckDB command. Then continue to verify via DBCC CheckTable on the particular object in question, followed by a larger DBCC CheckDB on the entire DB. When it all seemed OK, I returned the DB to MULTI_USER.

Now, you may be screaming at the screen now that I simply horked the connections to SQL Monitor, and did so in a graceful manner. I thought the same thing, and honestly wanted to try it out. I have been being so careful with it with other operations, I wanted to see what happened. In other instances I will actually stop monitoring everything, then have someone actually shut down the service, and then verify that all connections from SQLMonitor had terminated. But this time, I was curious.

It handled itself perfectly. Obviously the webpage that I had up throughout this ordeal was in a funked state. With a refresh, a few moments of uncertainty and stress on my part, it refreshed just fine. All was back to normal.

I am now free to pursue other tasks, as I leave the little gremlins that are SQLMonitor to do their job watching my DBs and letting me know when something is awry. It will happen. They will let me know. And I will dig in and fix them. I love having them around watching, especially when I am not.

Wednesday, October 05, 2011

FirstTimers Cheat Sheet 3 : More Humans to Hunt

In an effort to not leave anyone out from one of my previous blogs where I went into considerable detail on some 20 individuals, I have a larger list of humans to hunt while at #SQLPASS next week. Now, in case some of you complain, this list is not comprehensive either. But is an attempt to list out those humans that have interacted with me to a degree that they stood out and i listed them. This is in no way a complete list of the people you should hunt.

So, onto the list. Add these fine folks to your network. Learn from them. Each one has a certain set of skills that help them in their daily work and personal lives. I bet if you try, you will find something that you can learn from them as I have. The best part is that they too are willing to share this information with you. So we can all become better. All of us.

kevin kline
adam mechanic
jonathan kehayias
joe webb
aaron bertrand
jessica moss
randy knight
geoff hitten
jes borland
lori edwards
jeramiah peshka
alan hirt
lous davidson
neil hambly
karla landrum
rodney landrum
meredith ryan-smith
ted krueger
ben miller
rob farley
paul white
mladen prajdic
tim mitchell
jack corbett
phillip beazley
argenis fernandez
erin stellato
kendal van dyke
kathi kellenberger
scott stauffer
brian knight
simon sabin
tara kizer
robert davis
merrill aldrich
jorge segarra
bill fellows
doug lane
joseph richberg
peter shire
tim ford

Since the goal of the Summit, in my opinion is to Learn and Network, this is the Network portion, which I have relabeled Hunt. Now we have LURN / HUNT as the two goals of the summit.

As with the previous list, I challenge you to find these folks. Meet them. Add them to your network. If someone can meet all these, as with the previous list, and bring me proof, you will win a prize. Some of these fine folks I have yet to meet IRL and hope to do so this summit myself.

When you are not LURNing, happy HUNTing.

Tuesday, October 04, 2011

FirstTimers Cheat Sheet 2 : Adventurous Version : Cards

I was challenged to create cards to match my words. Similar to those used to track down various individuals in Iraq. Allowing you at home to print up said cards and hunt down said individuals.

Go get them. Print them. Hunt them. The first one to meet them all, who didn't know them all, gets a prize from me.

FirstTimers Cheat Sheet 2 : Adventurous Version

I recently gave you some ideas of some good things to do while at the PASS Summit next week.
Now let's get a little more adventurous. I want you to hunt down some specific people. Keep in mind that I love each and every one of these individuals as a brother or sister. And though I may be asking you to do something that would appear to not be in your best interest, I promise that you will have a good time doing it, and the individual you meet should be nice to you in return, i think.

Ok, here we go. Things to do when you find these people while at the summit.

[EDIT : if you do not appear in this list, do not fret. I can only fit so many per blog. SQLFamily is huge. More blogs to come]

Try to get a run in with Steve Jones from SQL Server Central. This man is an inspiration to so many for his daily running routine. Even if you see him in the elevator while going to run will be an inspiration. Ask him how much he likes shoveling hay. If you dont have guts enough to do this, simply thank him for being the godfather of this SQL community we now enjoy. If you have the time, listen and learn. He can teach you so much about so much. As those of us that have learned from him for many many years can attest.

Challenge Grant Fritchey to an arm wrestle. Or better, tell him you can chop wood faster than he can. Actually, anything you can challenge him to in his presence will impress me, as he has a stern persona at first glance, but is one of the nicest people you will meet at the summit. Ask him about Azure, about performance, about anything, and be prepared to learn.

Purchase a cup of coffee and deliver it to Buck Woody. Do this and you may make a friend for life. I dare you to ask him if he likes tea. Any kind of tea. If you cannot find him while at the summit, keep your eyes peeled for a blur in the hallways, that's probably him simply moving faster than the naked eye can detect as he is amped up on caffeine. 10 minutes learning from him will keep you busy for months, if not years.

When you run into Paul Randal, challenge him to a game of Blokus, hinting that you could probably kick his butt. This will prove to be a fun conversation, if you survive the first accusation of superiority. My first time meeting him is so ingrained in my memory, I will always cherish it. This man will impress you from the get go, and you will be surprised when he speaks that his accent doesn't quite match the one you had in your head all these years as you read his blog. Remember that he wrote most of what you use today in SQL Server. Be prepared to learn from him. Listen raptly.

If you are lucky you will meet Kimberly Tripp soon after you meet Paul Randal. She will smile at you and make you feel welcome. As if you are actually of worth. Realizing that you are in the midst of SQL Server royalty, open yourself up to what she can share with you. Amazed you will be.

If you want to meet the nicest guy at the Summit, then you need to hunt down my brother from another mother, Andy Leonard, and become his brother thru conversation. He is so knowledgeable and so kind, you will simply be blown away at how much you learn from him while listening to him speak. If you don't feel like giving a bear hug at the end of this encounter, you may have done it wrong. He is the best.

If you like lists like I do, then you mush try to find Brad McGehee and learn from him how to keep track of and take care of your database servers. Ask him about Hawaii. He lived there. This alone is an amazing treat, in my mind. One of the nicest people you will meet is Brad. Learn from him. Let him teach you. You will be amazed.

Once you run into Tom LaRock, ensure that you ask him about his favorite sausage. Go on and on about how much you love sausage. Or is it bacon. I cant remember... find out for yourself. After giving him a hard time, sit back and let him teach you about the community. About how we need to help each other. About how we can do a better job. Soon you will find yourself volunteering to help him on whichever of the myriad endeavors he is embarking upon to make us all better people, in spite of ourselves. He will make you a better person simply by being around him.

I'm a sucker for accents, and have always loved to listen to Gail Shaw. You will too. Be prepared to ask a simple performance question of her, if you can find her, and then record the answer. Type it up and read it over and over and be amazed at how much knowledge you will be innovated with in a short period from her. If you could extract a small ounce of her knowledge, it would probably more than double what you already have.
If you are looking for a quite rock of knowledge that will thoroughly impress you and impress upon you that you need to be a better person, seek out Andy Warren. His quiet way will shock you into the reality of continuous improvement. Listen to him when he talks, and how he talks, and watch others learn from him. He is a giant of a man and you should be humbled to simply learn as much as you can from him.

When you meet Denny Cherry, be ready to be cussed at and maybe even yelled at, but come out of the event knowing so much more about storage than you ever thought your little brain could handle. He is not for the faint of heart, but has such a store of knowledge that you would be amiss if you skipped this opportunity to learn from him.

If you see a giant (literal) of a man wondering around with a camera, stop and say HI to Pat Wright. He too has a quiet way of pushing you out of your comfort zone and into the community and then letting you do what you will within it. But you are a member of it because of him. How many of us can say that? I know I am a member of the community solely because of his influence. Tell him HI from me when you do see him. I owe him sooo much.

If you get a chance to hunt down the elusive Brent Ozar, do so. At first I thought he was a fictitious bot generated from Quest on twitter, but he turned out to be real. A real boy with a vast collection of knowledge. And given the chance, he will share it all with you. You will not be able to take it all in at once, so drink from this fountain only as much as you can take it. He will teach you so much.

If you run into Aaron Nelson, ask him if he's ever heard of this new language called PowerShell. Tell him you think its a fad. Then if he is still talking to you, ask him to help you with a script. He probably has it on him, and can give you a copy. And you will be opened up into the world of Powershell that you never knew existed. Anything you can think of, he's probably already done it and will share it with you.

When you see Allen Kinsel, which you will. because he is everywhere, simply run up and give him a hug. He may resist. But while hugging him tell him how thankful you are that he made the PASS Summit work. None of us will ever know how much he puts into this event. We all ose him so much. After thanking him, tell him how sorry you are that he still has copies of SQL 6.5 in production. Offer him your condolences.

If you happen to see a DBA that looks like a criminal and causes you to pause, possibly switching to the other side of the hallway, this may be Chris Shaw. Don't avoid him. His shaven head and stern face is covering a plethora of Administrative knowledge that you cannot afford to pass up. He will give you his shirt off his back, if he could. Another one of the nicest people you will meet with a head for Data that will amaze you. Again, learn from him. Learn. Soak it in.

I could go on with more, and hope to continue this list as the Summit grows closer. This is a list of people I think you should meet. I have met them. I love them. I learn from them. I am amazed to be in the same community as they. They are SQLFamily. You should take the time to meet and add them to your network. Become part of the SQLFamily.

A Post just for me

These photos are from the Austin SQL Saturday event. I just wanted to grab them so I oculd show my family.

Monday, October 03, 2011

FirstTimers Cheat Sheet

FirstTimers Cheat Sheet

Let me start by saying that I have been there. Standing in a room or strangers, wanting to reach out to them, add them to my network, but unable to do so. Why? Why couldn’t I? Well, that would take way too long to blog about. So let’s just skip to the how.

Let’s start over. Why do you go to PASS Summit? To Learn and To Network. Learning is easy. Attend at least 1 session while at the summit and I guarantee that you will learn something. It’s the second part that causes some of us to stumble.

Let’s break down networking. My own definition is to add individuals to my network of individuals that can help me in my day job, my tasks. Notice that I said add individual(s). This entails more than one. Multiples. Many. You get the picture. People. Humans like you.

How can we do this quickly and easily? I’ll show you 3 easy steps with several ground rules associated with these steps. First, back to the definition. Adding individuals to your network. These will be bonds that you create with another human, adding them to your toolbox of skills to accomplish your tasks. This is a selfish goal. But to accomplish this, you must be unselfish. You must reach out to them and be interested in them. Some people you may have very little in common, while you will find others that you have many points of interest connected. This is ok. They all go into your networking bucket. All. Stick them all in there.

Ground rules

For the next 3 steps, I want the following rules to apply. Do not talk about yourself, unless asked. Do not dismiss the individual during any of the steps. In between steps you may have to break the contact. This is OK. Contact can be reestablished later. Learn how to be genuinely interested in their responses to your 3 steps. I didn’t say pretend. Actually become interested. This is part of the unselfishness on your part. If all that happens is that you learn about them, then the goal has been accomplished. You may say to yourself that they know nothing about you. That’s ok. The goal here is for you to add them to ‘your’ network. Selfish goal, but accomplished by unselfish means. Become interested in each response. Become enthralled in what makes them human and a database professional and everything in between.


What I want you to do here is to memorize these steps. If you cannot do that, then write them down on a cheat sheet. I want you to ask the other humans the following questions.

  • · Who
  • · Where
  • · What

When do you ask the other humans these questions? Whenever you find yourself near an individual for more than 10 seconds, turn to them, look them in the eye and ask them these questions. Realize that there are 3 and that a break in contact may occur in between any of these questions, and that is ok. Let it happen organically. But these are the questions to ask. Remember to be interested in their responses, and do not simply wait for a break to talk about yourself. In fact, do not talk about yourself, unless asked.


Look them in the eye and ask them ‘Who are you’? Do not look at their name badge. This only tell them their name. You may forget this anyway. Try not to. But this is not what you are asking. You want to know who this person is. Let them tell you, in their own words. This is a nice simple ice breaker. It’s like asking a date out for a drink instead of dinner. Thus allowing an out if it’s not working out and they are trapped in a longer event than planned for (dinner). This is short and sweet. ‘Who are you’? It may sound brusk and you may alter it as needed to fit your personality. Point is that you are engaging them, and asking about them. DO NOT TALK ABOUT YOURSELF, unless asked. Remember that you are adding them to your network. They may not be adding you back. That’s ok. It may happen, it may not. It’s OK. Remember to be interested in them. ‘Who’ they are. Learn from them. Let them go on and on about themselves. I bet you will find that they are experts in talking about themselves. It’s one of my favorite topics.


This digs a little deeper and can be several questions, depending on how it’s going. Where do you live? Where are you from? Where do you work? Each of these questions opens up a plethora of responses and follow up questions. As organically as possible, let these happen on their own. This section of steps can become rather large. Be ready to take the time and be interested. Remember that you are still forbidden from adding your own information at this point, unless asked. (I bet you will be asked and this will allow the other individual a chance to find out the same things as you are finding out, and thus add you to their network as you are adding them to your own). As you find out another piece of info, try to dig a little deeper, or make a connection.

Before I go on to the last step, realize that we have said nothing really about databases, our skills, our goals, our talents, our favorite or least favorite piece of the database world. We are getting to know the human. Remember that they are 1st a human like you, second an IT professional, and third a database professional. There are many things you can have in common before you actually reach the database professional stage of information gathering. Hopefully before this stage even occurs you have forged enough bonds with this person, built up a relationship of trust and added them to your network, regardless of whether they are in BI, DBA, Development, Contracting, etc.


This question gets more into the nitty gritty and you start seeing where you overlap in skills and talents. Some sample questions for this stage are ‘What do you do?’, ‘What brings you to the Summit?’, ‘What do you hope to gain out of this Summit?’, ‘What is your favorite part of SQL Server?’, ‘What are you good at?’, ‘What are you not so good at?’, ‘What do you hope to be better at?’, and so on. Add here as you see fit. But the point of this section is to learn more about them. As I have said before, you are here to learn about them. Where possible, refrain from telling your own tales and wowing them. Let them ask you. It will happen. It’s human nature. But by you showing a genuine interest in their skills, in them, you forge that bond that will elevate this person into your upper echelon of helpful networked individuals.

Once you have exhausted these initial questions, realize that that may be the end of this interaction. You may or may not have made a friend for life. Time will tell. But it is important that you break away before it becomes awkward. Let this happen organically, naturally. Remember to not monopolize their time. Selfishly, you are here to form bonds with as many people as possible; adding each one to your network. Sticking it out beyond usefulness does neither of you any good.

Let’s Pretend

You find yourself standing next to me in a hall. You turn to me, without looking at my badge, and ask me ‘Who are you?’ I will probably grab my badge to double check the name, and then tell you my name. I will then probably do the same to you, asking your name, while still looking you in the eye. My eye will then wonder to your name badge to see it visually, as I attempt to burn your name and face into my memory. Sometimes this burning succeeds, other times it does not. But I will always remember this interaction with you.

Next you ask me ‘Where do you come from?’ For me, this answer requires a bit of time. I come from California. That’s where I was born and raised. It’s part of who I am so I will answer with this bit of information. But I will also tell you that I am from Utah, as this is there I live now. With this information you have a plethora of follow up questions. You can ask me about where in California I grew up, why I left, if I know Fresno, where your uncle lives and you visited once. I will tell you that I do know Fresno, and have visited friends of our family many times. In fact, they live in Clovis, nearby to Fresno. Since I opened up more information about Fresno, feel free to dig into this. At this point you realize that you know someone that lives in Clovis, and ask me if I knew them. Why not? I may know them. You’d be surprised. Next you may ask me about my living in Utah. Here you can be adventurous and ask me if I am ‘Mormon’, or even more adventurous and ask me how many wives I have. This will lead to some interesting discussions. Maybe you only want to ask me if I have visited Lake Powell or Zion National Park, or if I snow ski? Realize that you have not said you do any of these things. You are asking me about me. You may want to ask ‘Where do you work?’ This too will open up a plethora of follow up questions. See the pattern here? You are not talking about you. You are asking about me. Letting me go on and on about me. It’s one of my favorite topics.

You get the idea. Start small. Grow organically. Let the networking happen easily and efficiently. Stick to these simple questions and branch out when you feel comfortable. Learn about them. Add them to your network. Remember this interaction. Make as many of these as you can.

When you find yourself having 10 seconds near another human, lean over, look them in the eye, and then ask them Who, Where and What. You may have just found a friend for life. At the least, you may forge a bond with another human that can be added to your network. Goal accomplished.