How To Start Troubleshooting SQL Server Performance – PASS Insights

Recently, I was invited by PASS to write an article for their PASS Insights newsletter.  So I decided to take my PASS Summit 2019 Lightning Talk and expand on that idea further.  Read it here!


24 Hours of PASS: 2019 Summit Preview Edition

PASS Summit 2019 is coming up fast, and PASS is holding their 24 Hours of PASS Preview Edition next week! I’m again honored to be presenting a preview edition of “Everybody Has A Story To Tell: Developing Your First Presentation” next week!

You might think, “Andy, you’ve been doing that session for a few years now. It’s nothing new!” Yes, it is several years old… BUT since it was selected for PASS Summit 2019, I’m making a number of enhancements! I’m very excited about some of the ideas I’ve come up with to improve this session and am eager to share some of them next week.

So if you’ve ever thought about presenting, but are still unsure… or a relatively new presenter and want to enhance your craft, be sure to register and join me!

Sept 10, 2019 @ 15:00 CDT
Sept 10, 2019 @ 20:00 UTC

Mid-Year Update

It’s been an extremely busy year for me. Here’s a quick recap by the numbers:

January – June:

  • 15 events attended
  • 20 presentations given
  • 28,000 miles flown
  • 15 hotel stays


I just wrapped up a week at SQL Intersection. I did not present at this conference, but did represent on behalf of SentryOne. But I did have the luxury of attending some sessions, which was awesome. I chose to focus on some of the cutting edge tech and was not disappointed. Highlights include sessions with Buck Woody on Machine Learning, Pam Lahoud on TempDB Impovements in SQL Server 2019, and several sessions with Bob Ward on Containers, Kubernetes, and SQL Server 2019.

I came out of this past week re-energized and wanting to get back into personal R&D, which I intend to blog about! Here’s a list of personal projects I wish to tackle, both big and small:

  • Docker:
    I want to get Docker operational on my laptop WITHOUT Hyper-V. I use VMWare Workstation and prefer to continue with it, meaning Docker for Windows Desktop is a no-go (it requires Hyper-V). But

  • ostress.exe
    I’ve used sqlcmd batch files for my workload scripts, but I finally want to convert them over to using ostress.exe.

  • Azure Data Studio + notebooks
    Bob Ward used ADS Notebooks for his demos, and after seeing him do it, I was amazed at how easy it was! I’m curious to see how I can manage some other aspects for some of my demos (use of XE, execution plan analysis, etc.) but am eager to take the plunge and give it a go.

  • New Sessions!
    I must develop TWO new sessions that I’ll be presenting in July & August. These were also my PASS Summit submissions, so am keeping my fingers crossed that one will be selected!

With all of these pet projects, I’m curious to see how much I can really knock out. But I am going to try my best to ride this wave of inspiration as long as I can AND blog about it all!

Here’s to the 2nd half of 2019!

T-SQL Tuesday #111: Why I Do What I Do

This month’s T-SQL Tuesday is by Andy Leonard, who asks bloggers to answer ‘What is Your “Why?”

To answer that, I’m going to answer a different question first. This is a very typical question that I get in interviews, that sort of drives me nuts.

“What do you see yourself doing in 5 years?”

Uhh… working unless I’ve won the lottery? And hopefully not working in a job that sucks? :-p

Smart ass response aside, what I always say to this is that regardless of the job/role that I’m in, I want to continue doing one key thing – helping companies leverage SQL Server to its fullest potential.

I think back to some of my past jobs, and what I’ve done to help both companies. At one company, I was brought in because of a SQL Server based system had outgrown its original architecture and performance was beyond dismal. At another company, I became a liaison to a primary SQL Server customer, in part thanks to my personal drive to remain on the cutting edge of what Microsoft was doing with SQL Server.

But I’ve also tried to help individuals too. And in all of my recent roles, I’ve made sure to evangelize the SQL Server PASS community, and all of the phenomenal training and resource offerings that can be found in our awesome community.

All of this, because one of my core characteristics is that I am a “Giver.” I want to help.

Today, I am proud to be a Solutions Engineer with SentryOne. In my current role, I’m “evangelizing” SentryOne’s monitoring software, because I personally believe that it is a true solution that can improve the lives of SQL Server data professionals.

Would me, 5 years prior, have been able to predict that I’d be working for SentryOne in such a role? No way. But am I still staying true to my overarching goal of helping others leverage SQL Server more effectively? Absolutely!

And that’s why I do what I do.

T-SQL Tuesday #105: Brick Walls & Asking For Help

Welcome back to another edition of T-SQL Tuesday! This month’s edition is hosting by Wayne Sheffield (b|t), who asks participants to blog about a time they hit a brick wall.  Funny enough, I feel like I’m up against a brick wall, with everything going on in my life right now!  Was challenging enough to try to find the time to write this blog, but that’s another story for another time.


A couple of years ago, when I was in an Operational DBA role, we were faced with a division wide domain change effort due to an acquisition.  We had numerous SQL Servers that had to be flipped from Domain A to Domain B.  Before this, I never even dabbled in Active Directory, so all of this was completely new to me.  We didn’t even have an Active Directory specialist on our Ops team (those folks were remaining behind in the acquisition), so we had to bring in a consultant to help us (who was awesome by the by).  We were doing things in a phased, but very rushed timeframe, so had little time to prepare, much less train up.

Leaving out names to protect the innocent (hah), we cut over our first set of Production servers.  Then I started seeing an error that I’ve since come to dread:

“Cannot generate SSPI context”

What… the… ?!

Kerberos Double Hop

I may have created this meme out of frustration… and may have tweeted it out too

To make a long story short, this had to do with Kerberos and the new domain service account that SQL Server was running under.  But I didn’t know that then, and this became my brick wall.

Much Google-fu and cursing later, I finally started getting somewhere, finding some articles on the topic.  This one in particular had context, though I still didn’t understand the underlying issue.  But what I did notice, at the very end of the article, was what saved my bacon.

“Posted By: Adam Saxton

Hey, wait a minute.  I’ve met Adam in passing at some event or other.  I think I follow him on Twitter too!  So I took a chance and reached out to him.  That resulted in an e-mail exchange, where he pointed me to other resources about Kerberos & SQL Server, and helped me and my Ops team fully understand the issue.  He answered questions and was a phenomenal resource, that saved by team’s bacon!  I was blown away.  Adam, a guy at Microsoft, was directly answering questions and helping us out for free.  My non-SQL Server Ops colleagues were also equally impressed and grateful for his insight and guidance!

Moral of the Story

If you’ve hit a brick wall, absolutely do your due diligence and try to find the answer, but don’t be afraid to also reach out and ask for help – even from “big guns” at Microsofth.  You can only go it alone for so long, before the time burned searching for the right answer outweighs the consequences of not asking sooner or asking too soon.  #SQLFamily is here to help!

Cannot generate SSPI context – TL;DR

P.S. If you came upon this blog because you were searching on that SSPI error message, do yourself a favor and grab the Kerberos Configuration Manager tool for SQL Server.

T-SQL Tuesday #104: Do You Have a T-SQL Toolbox?

Hello everyone!

Am back on my personal blog with another edition of T-SQL Tuesday. This month’s edition is hosted by Bert Wagner (b|t) who has asked us to share “Code that you would hate to live without.”

For me, my “can’t live without” is not a single snippet of code, but rather an entire folder of scripts, that has traveled with me from job to job over the last +10 years. Inside it, I have numerous scripts that I have written, collected, and adapted throughout my career as a DBA & DB Dev. Here’s a snapshot of my Toolbox folder!


Perusing the list, it is mostly a mix of what I categorized as Tools and Examples.

I keep Tool scripts separated out and appropriately labeled so I can jump to them quickly when needed.

Examples store various snippets of useful code, that I’ve just failed to fully memorize despite using on a regular basis. It’s frankly just easier to pop open my appropriate Examples file, copy & paste, and go on my way. I’ve considered replacing these with SSMS snippets or templates, but have usually opted not to because of having the hassle of deploying them to shared jump servers.

The other notable file is the 1_Scripts.sql file. That was my original toolbox, that contains numerous other T-SQL examples that I never bothered splitting out into individual Example files. I think of it as my most used and it contains snippets for a variety of random things.


Do you maintain a toolbox of your favorite scripts today? Well, do you ever find yourself having to re-look up the exact T-SQL syntax for something that you happen to use just often enough, but not often enough to memorize? Then give this a try!


Interested in hosting your own T-SQL Tuesday?  Steve Jones has taken over, so reach out to him!