Dec 19 2011

PASS Summit 2012 Evaluation Results

I say it all the time because it’s worth repeating, feedback is a gift. Good, bad or indifferent (well, not indifferent), feedback is a wonderful gift. Any time you appreciate a speaker, give them feedback. Any time you think a speaker could improve, give them feedback. Any time you hate a speaker, give them feedback. It’s really the best thing you can do.

With that in mind, I have a huge stack of gifts in front of me here, the evaluations from the PASS Summit.Thank you very much to each and every one of the 160 different evaluations I received. I presented three times at the summit, once on a pre-con with Gail Shaw called “All About Execution Plans,” one time in a spotlight session called “DMOs as a Shortcut for Performance Tuning,” and a 5 minute lightning talk called “Testing Your Backups, The Rant.”

All About Execution Plans

I worked hard prepping the pre-con. It’s my first one at the PASS Summit (and I hope not my last). Gail also worked hard. The two of us did all this work in opposite hemisphere’s on the planet. That means we didn’t really get to walk through the session until the day before. Our timing was off, and some of the advanced stuff was a little rushed late in the day. I think that might account for some of the scores. Regardless, that’s an explanation, not an excuse. Here’s how things broke down for us, 5 is good, 1 is bad:

Evaluation Question Rating
How would you rate the Speaker’s presentation skills? 4.53
How would you rate the Speaker’s knowledge of the subject? 4.80
How would you rate the accuracy of the session title, description and experience level to the actual session? 4.48
How would you rate the quality of the presentation materials? 4.25
Did you learn what you expected to learn? 4.28

Gail and I had a blast presenting this session. Maybe we were having too much fun. I’m very happy that our knowledge rating was good and high. Everything else, well, we missed the mark. I’m especially troubled by the low rating on the question of “Did you learn what you expected to learn?” I think that one shows that we didn’t deliver what we should have. If we were to do this again (and I think we should), I’d cut down the basics information quite a lot. We had almost 3 hours worth of introductory material. I suspect taking that down to about 90 minutes would help a lot. Then we’d have an additional 90 minutes on the other side to get into what the audience seemed to expect. Here are some of the comments (my responses are in parenthesis and typos outside of parenthesis are not mine):

  • I expected more from th performance solving demoes
  • Demo of what to look for in live systems with a high focus on “prevention” would have been very useful
  • Would have loved a deeper dive
  • Could have used little lower level but am happy anyway (there are only a few of these. Everything else was focused on the fact that the afternoon was rushed and the morning was basic)
  • It might have been better to spend less time on the mornig topics and get into disection of execution plans earlier. (see)
  • Explaining the properties was helpful (Yay! hit one of my keywords, everyone drink)
  • I was expected more on reding exectuion plans and tuning ex. plans
  • Way too academic. Don’t feel like I am translating anything back to work situations (that one hurts, seriously, it does. I thought I was bringing real world examples in, but must not have made enough of a point. Thank you)
  • Would have liked access to demo material before hand. Also, real life scenarios and troubleshooting techniques would have been useful (and another. Ouch)
  • Would have been nice to have screenshots of the demos (uh, no)
  • The combined knowledge of these two is amazing (The plan was, I say something Gail corrects me. That part worked)
  • You both have deep knowledge of the subject. You make a fantastic team. (lots like this)
  • Good flow, great at repeating questions out loud. Good at zooming in.
  • 1. Parse/algebraize/optimize
    2. The optimizer can lie, but usually doesn’t
    3. Look at selectt and properties in ssms, didn’t know about properties (another yay. That’s one thing I wanted to get across)
  • Go to a real trainer next time (And see, that’s not feedback. That’s snark. That’s commentary. But it’s not feedback)
  • Too much info so the speakers had to move swiftly and skip some basic concepts and made assumptions about the knowledge and skill levels of the students (see, hard to reconcile everything, but the consensus was, too many basics, not enough advanced stuff)

You get the idea. I think we’ve got some excellent and actionable material to build and improve this presentation. I’d present it again with Gail in a New York second.

DMOs as a Shortcut for Performance Tuning

This is the third year I gave this spotlight session. I was less than pleased with myself, the slides and the demos during the presentation (and I received some good feedback, that day, about it), but I tried hard. Evidently, trying hard paid off. I’m ranked 28th with this session in the conference over all. Yeah, hardly something to write home about unless the highest you’d ever been ranked before was 32nd. Improvement is improvement. There were 58 evals turned in out of 120 people attending.

Evaluation Question Rating
How would you rate the Speaker’s presentation skills? 4.67
How would you rate the Speaker’s knowledge of the subject? 4.86
How would you rate the accuracy of the session title, description and experience level to the actual session? 4.69
How would you rate the quality of the presentation materials? 4.62
Did you learn what you expected to learn? 4.59

With these levels of evals, I have nothing to complain about… I really need to get better at writing my abstracts. I’m hitting low on the actual session and expectations, so I’m clearly not communicating well. Oh yeah, I can find things to critique myself over any time I want. However, hit nice and high with the knowledge score and high enough with the presentation skills (although higher would be better). Lots of room for improvement, which is great. Here are a few of the comments:

  • That I’m missing a lot of valuable information and wasting a whole lot of time hunting the whumpus when users whinge! (Win!)
  • Should be serious!!! (really? I can’t. I try, but I can’t. I’m having fun with the technology and I’m going to smile and joke while I work, just because, sorry.)
  • Would have rated this at a 300 level but the pre-req listing was useful. Only reason I rate this as 300 is the underlying need to understand the various terms and columns within the DMO’s. To rate at 200, perhaps a slide at the start stating the things tha (interesting. I still think it’s 200, but I hate the thought that I’m leaving someone. What do you rate it if it’s 232?)
  • Big brain (that’s not all that’s big, if you know what I’m saying…What? I’m talking about my belly… what did you think? See, humor, can’t help it).
  • Great presentation. Clear, very easy to understand, seeks audience input which is good as it keeps the interest levels high. (Another Win! I do go for audience input. It’s vital to me as a presenter. I’m just not a “stand in front of the hall & lecture” kind of person).
  • I can use this info tomorrow.
  • Apply the material immediately! Thanks!
  • Dude; can’t you leave the results window up (not go back to query window) and just hit execute/F5 to re-execute? (interesting. The last several presentations, prior to this year, one of the complaints was that everything went to the bottom of the screen in the results. So now I output to the tab & more stuff is visible, but I can’t leave it on the screen… something to practice, leaving the results in place a beat or three longer… thank you, thank you. See, this is what feedback is all about)
  • We pay $$$ for this!!! (very unhappy person. Same guy that didn’t like the humor. I’m sorry. I do feel back for this person. I let them down, but I’m not sure how to improve from this one. I’m not going to joke less. Maybe a warning at the beginning, “I’m going to laugh at myself, our technologies, and other things while I present”)
  • The demos (script/execution capture) were boggy; this presentation was possibly an outlier.(great point. I did have some troubles with a script I’ve been running for, literally, years during this presentation. Weird. Thanks for the feedback)

You get the idea. Except for the guy upset at my attempts at humor (again, I am truly sorry), decent ratings and a few areas where I can try to improve. This is so useful. Thank you all.

Backup Testing: The Rant

Further proof of my inability to take things completely seriously, I communicated several ways to test your backups, but at a full throated roar. I hope it was useful as well as fun. A couple of comments:

  • SOME PRESENTERS ARE A LITTLE CRAZY BUT AWESOME (That could be for anyone, but I’m claiming it)
  • A CLOCK IN FRONT OF GRANT (the guy doing the timing was off, not me)
  • next time, make sure these LTs are recorded for YouTube ! (agreed)

That’s it. To everyone who filled out a sheet, thank you. I hope I can do better by you all next year.

Dec 14 2011

SQL Saturday #104: Colorado Springs

I’ll be presenting at the Colorado Springs SQL Saturday on January 7th of 2012. The session is called Seven Ways to Fix Bad Parameter Sniffing. Please, if you’re in the area, register and come to the event. There are going to be some truly excellent speakers there. There is also evidently skiing on Sunday, although I won’t be taking part in that.

Dec 12 2011

Changes to SQL Server 2012 Execution Plans

I’ve been working with execution plans quite a lot in SQL Server 2012. There are a number of changes, most of them associated with new or different functionality. I had not noticed anything really fundamental until recently. I’ve become a huge proponent of always checking the properties of the SELECT statement. There’s so much useful information in there about what’s happened with the plan generation in the optimizer (not low level stuff, but the big picture items) that you should always be checking it first as a fundamental part of your plan examinations. Here’s an example from SQL Server 2008R2:


You can see cool stuff like the size of the plan, the time it took to compile, the optimization level, the reason for early termination. Many of the properties on this page are useful for determining information about this plan and how the optimizer dealt with it.

Here’s the property sheet from SQL Server 2012 from an identical query against an almost identical database (AdventureWorks2008R2):


Oh yeah, we’ve got some meat on this bone to chew on. All the good stuff from the original is still in place. But we have more added. Working from the top, we see MemoryGrantInfo. I’ll have to do some more research and testing to validate this, but I’m pretty sure that’s a measure of temporary data storage assigned for expenseive join and sort operations, and now it’s built right into the execution plan. That’s going to be a very useful tool. Note that this plan, while marginally complex, doesn’t need any of the memory grant.

Next is the OptimizerHardwareDependentProperties which very much explains itself don’t you think.But how cool to know that for this plan the optimizer thought it could get 2 processors to work. Also that the optimizer takes memory and pages into account as part of its internal processes, probably as part of determining parallelism as well.

Next is RetrievedFromCache. At first I about did a backflip to know that this information, whether or not a query was pulled out of the cache, was on the execution plan, but I saw it set to true for the first execution of the query. Out comes DBCC FREEPROCCACHE()… nope, still retrieving it from cache, whatever that means. OK, how about a CHECKPOINT, DBCC DROPCLEANBUFFERS(), DBCC FREEPROCCACHE()… no change. More work is needed to understand this one (and yes, before you ask, I looked it up in Books Online. Nothing).

And at the bottom is some of what I was told is coming, new warnings about things that can affect plans. In this case, a conversion that’s occurring within a calculated column that will prevent good cardinality estimates, possibly leading to scans. We’re just retrieving the data here, so it doesn’t affect us, but it could. This is also excellent information that is going to be extremely useful. The only shortcoming with this one is, that there’s no indication where the problem is occurring. I had to do a quick search in the XML to identify which operation had the questionable column.

I’m pretty excited about these little additions to the SELECT operator.

Dec 09 2011


Microsoft is supporting an effort by PragmaticWorks targeted at supporting technical training for returning veterans. I can’t think of a single better cause to throw some support behind. Not one. They’re going to donate money based on posts about #sqlfamily.

Well done to Brian Knight (blog|twitter) and all the team at PragmaticWorks. I knew you were great people, I just didn’t know how great.

Thanks to Microsoft and the SQL Server Team for their support of Brian. Oh, and for all the work you guys do with SQL Server. I may bitch about you guys more than you’d like, but it’s only because I live inside your software, constantly. I wouldn’t be there all the time if you didn’t do great work. Keep it up. We can talk about this issue with rpc_complete and sql_batch_complete showing TSQL in two different fields in extended events another time.

Enough fawning. This post is supposed to be about #sqlfamily, so let the fawning begin.

My previous post for #sqlfamily didn’t go much into specifics. I don’t have a deeply personal story of support to share. I do have a story of technical support to share. I’m not going to name names on this one because the person involved gets paid to do what they did for me for nothing. If this person reads this, thank you.

I’ve only recently started working with Extended Events with SQL Server 2012. I know, I know, I should have been using them for years. What can I say. I’ve been busy and trace did most of what I needed. Anyway, I tweeted about the experience of getting going and a particular problem I had hit and how I solved it. I received an immediate direct message asking me for my skype account and if I had a minute. Sure, I thought, let me get five minutes of face time and I’ll be good. After a 40 minute drink from the fire hose, I had a much better understanding of extended events, as well as several pages worth of notes and links to information I had previously missed. Why did this person do this? Because someone they knew needed some help. That’s #sqlfamily to me.

You gotta think of it like this. Technically, we’re all competing for jobs. If I know something really well and you don’t, that makes me more marketable than you so I’ll be damned if I’m going to give you a leg up for free. And there are technical communities out there that behave exactly that way. We don’t. We share. We share our knowledge, our time, our struggles, our passion.And the funny thing is, we all get better for it. Will there come a day when I’m sitting in an interview room with someone I know next door interviewing for the same position? Ha! Already did that. I recommended the other person (neither of us got the job). Will there come another day where the same thing happens? Yes. And I’ll do the same thing again. I’ll list the other persons strengths and suggest they’re perfect for the job if that’s what I think. After all, we’re #sqfamily.

Dec 06 2011

SQL Connections Fall 2011 Speaker Evaluations

In keeping with the past, I’m going to go ahead and post my evals for the two sessions I did at Connections in Vegas back in November. It was a mixed conference for me. The first session I had ~80 people. The second session I had 9. Yeah, weird. But there were great speakers there (as usual) so I’m hardly shocked that I had low attendance, but the funny thing is I expected the sessions to be reversed. The low one was the session I lavished love & attention on. The high one wasn’t given as much of my focus. Figures.

Here are the evals. I love how Connections shows the high, mean and low so you get a sense of how you fit.

SQL Server Optimization Checklist (36 responses)

Q1. Speaker’s knowledge of topic
Your average score for this session: 3.83 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.77 Lowest score (all SQL Server speakers for this question): 3.32

Q2. Speaker’s presentation skills
Your average score for this session: 3.89 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.53 Lowest score (all SQL Server speakers for this question): 2.59

Q3. Content of Speaker’s slides/visual aids
Your average score for this session: 3.64 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.51 Lowest score (all SQL Server speakers for this question): 3.0

Q4. Speaker’s ability to control discussions and keep session moving
Your average score for this session: 3.83 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.6 Lowest score (all SQL Server speakers for this question): 3.06

Q5. Accuracy of session description
Your average score for this session: 3.8 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.59 Lowest score (all SQL Server speakers for this question): 3.0

Q6. I got what I expected from this session
Your average score for this session: 3.78 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.44 Lowest score (all SQL Server speakers for this question): 2.56

Q7. Overall evaluation of this session
Your average score for this session: 3.86 Highest score (all SQL Server speakers for this question): 4.0 Mean average score (all SQL Server speakers for this question): 3.54 Lowest score (all SQL Server speakers for this question): 2.75

Overall the details are about what you would expect. Most of the numbers are in the middle to high range. But there was one person who did not like this session at all. I received lots of low marks from her/him.

Comments (my response in parenthesis):

• Best session so far!

• Need more examples. (there were none in this session, adding them would require cutting other stuff, not sure what to cut here to add other stuff. Not sure if I should, still, something to consider)

• Great presentation!

• Great sessions.

• Grater[sic] use of hand puppets. (I am working on this. Maybe reveal my new skills at Tech On Tap)

• Great session and Q & A.

• One of the best sessions of the conference.

• Great info and very engaging presentation! Best of conference.

• Great info. Thank you. Best session so far by far.

• This is an excellent session on information and content.

• One of the best sessions this conference, very interactive.

• Demos might of helped refer back to his book. This way would be good intro to material with follow up. So what if you are referencing a book. (Excellent points. Thanks)

• Icy cold room. Noise I back hall was annoying. Grant’s a great speaker. Very clear and to the point. Liked encouragement of audience participation.

• Awesome session! I will be able to start using what I learned immediately.

In short, I think I can be proud of this one.

Lucky 7: Seven Different Solutions for Bad Parameter Sniffing (3 Responses)

I was so happy with this presentation. I really expected a big audience. Ah well. The evals were all 4.0. Thanks everyone. Here’s the one comment:

• I know the attendance was low, but it was a great session. Completely new material for me.

That’s the kind of comment you live for.

Thanks to everyone who attended and thank you all for your feedback. It’s a gift and I truly appreciate it.

Dec 05 2011

Resolutions: Outcome

Earlier this year, I wrote a post about my upcoming plans for the year in response to a question asked by Jen McCown (flat out, one of my favorite people, blog|twitter). It was supposed to be about resolutions, but I just don’t make those. I make plans.

Here we are, close to a year later (11 months). How did the plans work out?

The first one, hinted at the time, was to start a new job. Well, that’s done and it’s going swimmingly, thank you very much. The job has turned out to be harder than I thought it was going to be. I travel more than I thought I was going to travel (although we’re keeping it within the limits we agreed to, I love my new company). Frankly, I’m concerned that I’m doing a good enough job, pretty much all the time. But, I love it. Thank you, everyone at Red Gate Software.

Next one was setting up the home office. I’ve got that done too. It proved to be quite difficult, but with lots of help from Glen Berry (blog|twitter) and several other people on Twitter and elsewhere, I finally have a functional set of systems. Currently I have three computers, my glorious Lenovo W510 laptop (sporting lots and lots of flair), a POS Dell desktop (which, as soon as it crashes & burns again, I’m replacing), and a nifty little HP Proliant MicroServer that I’ve named Bob. I even have a little Iomega raid array. I’ve learned how to set up AD and have these things humming along well enough. I’m able to set up tests and get done what I need to get done for my job. I won’t lie. It’s been a pain in the bottom having to set it all up myself. I’m still spoiled from working at a large corporation where I didn’t have to sweat this stuff, but I’ve managed to get done what was needed. I learned how to set up virtuals and I’ve been using a couple of them for most of the last year while working with SQL Server 2012. Trivial stuff for a lot of you, but a leap forward for me.

Then I promised to drill down on a new set of tools. Once again, referring to my glorious job at Red Gate. Man, I had no idea those guys worked so hard. They are releasing new software and new functionality constantly. I can’t keep up. I love it. I rate this goal only about 1/2 accomplished and I think I could have done a somewhat better job at it. I’m going to try to improve on this in the coming year.

The last one, writing more… Unfortunately, I accomplished this one all too well. I did rewrite the execution plans book , but we’re looking at rewriting it again (some structural needs and to capture 2012 stuff). I’m close to half way through rewriting my performance tuning book . That one slowed down because I took on another project, SQL Server in a Month of Lunches, which I’m also about 1/2 way through. Oops. If you’re counting at home, that’s three books this year. Not good. Oh, and did I mention I wrote a chapter for the MVP Deep Dives II? And, I’m maintaining my chapters in Beginning SQL Server Administration (2 of 3 done as I write this). Yeah, five (5) books this year… no, no, no. Stop. That’s on top of all the new articles for my most excellent job, maintaining this blog, starting another blog… Yeah, writing successful. Don’t do it again.

On the whole, I’d say I accomplished what I set out to accomplish on 3 of the 4 goals. The incomplete one, getting better with Red Gate tools, is going to be ongoing anyway, but I still need to improve.

Oh, and by the way, thanks for reading this blog over the last year.