• Home
  • My Favorite Topics
    • Blogging
    • Business
    • Career
    • Cars
    • Consulting
    • Epic Life Quest
    • Iceland
    • Marketing
    • Presenting
    • Productivity
  • My Life Quest
    • Future Achievements
  • About Me
  • My Recent Photos

The Road to PASS, Week 2: The Recap Slides

5 years ago
presenting, sqlpass
No Comments

This year, I’m working with you to get you to the PASS Summit stage. Last week, we talked about your first homework: a list of a few pains you’ve relieved over the last year.

This week, you need to write the recap slide for each of those pains. Think about the end of the session: when the attendee walks out, what are the most crucial takeaways you want on their mind? What do you want them saying, “Thank God I went to that session, because now I know that ____. When I get back to the office, I can’t wait to ____.”

Let’s tackle my pain point topics.

How often should you take backups and run CHECKDB

The recap slide for this one should cover:

  • Understand what scenarios would cause you to do what kinds of restores
  • Get the RPO/RTO HA/DR worksheet
  • Fill out the current state columns with sp_BlitzBackups
  • Use my management tips to get real RPO/RTO goals from the stakeholders
  • When the jobs are too slow, use my time-saving tricks for backups and CHECKDB
  • Trend database size & backup times to understand when you need to recalculate

I think those are the most important things I can teach ’em in 75 minutes. That list of bullet points tells me a lot: the session level, what they already need to know coming in, what kinds of attendees should attend, which kind shouldn’t attend, and more.

For time budgeting, I’m guessing I wanna spend 10-20 minutes on each of those.

What to do when SQL Server is unusually slow

I’ve done this one a lot, and in the past, the recap slide has been a list of tools. For the new session, I want it to be a T-SQL file with the commands filled in – and they’re so short that it’s easy to just use a screenshot of the commands:

When your SQL Server is unusually slow, step through these in order:

  • sp_WhoIsActive @get_locks = 1, @get_plans = 1
  • sp_BlitzFirst @ExpertMode = 1
  • sp_BlitzCache @ExpertMode = 1, @SortOrder = ‘all’

This looks like a short list, but the way I teach this is to use a series of server emergencies to troubleshoot live, so it ends up taking ~20-25 minutes per scenario.

Analyzing parallelism

I’ve been thinking a lot about this one over the last week, and it feels like I need to tell the story in terms of time. Your server starts up, certain things are set in place that affect how queries are handled. Then someone logs in, and they inherit settings from their RG workload group. Then they use a database, and they inherit that database’s MAXDOP. As they start a query, their query contents change it yet again.

So the recap slide might look like this:

  • Server startup: Cost Threshold, MAXDOP, core count
  • Login: Resource Governor
  • Database picked: MAXDOP
  • Query starts: query hints, parallelism inhibitors
  • Single query in progress & aftermath: live plan, actual (completed) plan, parallelism operators, thread stats, DMVs that show DOP, XE
  • Multiple execution aftermath: parallelism operators in estimated plans, DMVs that show DOP

Looking at that list of 6 bullet points, holy cow – it’s not going to be possible to explain how all those things work in 75 minutes. That means I’ve either gotta reduce the scope, or I’ve gotta set the stage as, “I’m not going to teach you how all these things work, but I’m going to give you a mental toolkit you can use to investigate parallelism challenges.”

It’s kinda funny – when I wrote my list of 4 topics, this was the one I liked the least because I thought I’d have the toughest time making it interesting. Now, I like it a lot.

Demystifying cardinality estimates

This one’s more about a thought process – getting people to read an execution plan, correlate the plan operators with the T-SQL they passed in, and then think about how easy (or hard) it is for SQL Server to guess how many rows will come out of each operator. So for this one, I’m thinking the recap slide is better as a series of questions:

Look at the driver operator (top right) first, and:

  • Can SQL Server quickly understand your T-SQL?
  • Are you asking for something that’s already stored on disk?
  • Are there statistics about the data you’re asking for?
  • Is the data stored in a way that makes subsequent operations easier?
  • Now move through the plan’s operators, repeating those questions

The more YES’s you have, the better SQL Server’s estimates will be.

There we go! Now you’ve seen me pick pain points, and sketch out a possible recap slide for each one. Next up: Read on in Week 3: The Abstract’s Technical Details

presenting, sqlpass
Previous Post
The Road to Your First PASS Summit Session, Week 1: The Pains
Next Post
The Road to PASS, Week 3: The Abstract’s Technical Details

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Hi. I’m Brent.

That's me, Brent.

I live in Las Vegas, Nevada. I'm on an epic life quest to have fun and make a difference.

I co-founded Brent Ozar Unlimited to help make your SQL Server go faster. I also maintain sp_Blitz® and the open source First Responder Kit repo.

My current car collection includes a Jaguar XKR-S, Porsche 944 Turbo, Porsche 356 Speedster replica, and a Ferrari 328 GTS.

profile for Brent Ozar on Stack Exchange, a network of free, community-driven Q&A sites

© 2021 Brent Ozar, all rights reserved. Privacy Policy

  • Home
  • My Favorite Topics
  • My Life Quest
  • About Me
  • My Recent Photos