SQL Profiler Will Never Die

For many SQL Server professionals, emotions run deep for SQL Profiler. Ask five SQL Server professionals their thoughts about SQL Profiler versus Extended Events and you’ll get seven different opinions. If you are looking for some fun, and happen to be in a group of SQL Server professionals, just ask them if they prefer SQL Profiler or Extended Events. Then grab some popcorn while you watch the show.

Knowing this, last Friday I decided to have a bit of fun and put up a Twitter poll, asking my #SQLFamily to pick their team:

I gave three options, including a #TeamWhatever for those people that either don’t care, or will use whatever option is best for them at the time. You can see the results. Out of 176 total votes, #TeamExtendedEvents won 40% of the vote.

So, what does this mean? Absolutely nothing!

Your Bias is Showing

In yesterday’s post I mentioned two forms of bias, cognitive and confirmation. There are many forms of bias when it comes to surveys and sampling. In most cases bias is unintentional, often the result of a sampling procedure not being well thought out. The Twitter poll gives me an opportunity to point out why such things as Twitter polls and blog surveys are poor sampling methods.

There are a handful of reasons why I said the results of the Twitter poll I ran last Friday have no value. The biggest reason has to do with selection bias. Here are some examples.

The poll didn’t give everyone a chance to respond. This is a selection bias known as under coverage. Not every SQL Server professional is on Twitter. You cannot consider the 176 respondents a valid random sample of all SQL Server professionals.

The poll was available for 24 hours. Even for a SQL Server professional on Twitter, they likely missed the poll altogether. This is  known as nonresponsive bias. There are many SQL Server professionals that would vote for #TeamProfiler if they were Twitter users *and* known about the poll.

Polls such as this draw responses due to strong opinions. This is called voluntary response bias. You might have seen me tweeting about #TeamProfiler and decided “WTH is he doing?” and decided to vote for the wrong option.

If there is one thing to take away from this post it is that Twitter polls are a poor excuse for a survey. The next time someone hands you the results of a survey you will be able to determine if any bias has affected the results. Otherwise you are going to draw the wrong conclusion from the data that was collected.

What’s the Deal With SQL Profiler?

Nothing, really. It’s old…I mean experienced…having been around since SQL Server 7. SQL Profiler has been deprecated, which means that it is scheduled to be removed in a future version of SQL Server. However, at Microsoft Amp last month Scott Guthrie announced that SQL Profiler would be available for Azure SQL Database (about 20 minutes into the keynote). So, I wouldn’t expect Profiler to go away anytime soon.

Extended Events were created in SQL Server 2008, along with SQL Server Audit. My understanding at the time was that these two features were to replace the use of SQL trace (which is what Profiler uses). Adoption for Extended Events has been, well, slow. Which means we’ve had nine years (and 4 releases of SQL Server) of discussion about which tool to use.

Here’s a hint: use what works. I don’t think Profiler will ever die. And neither will #TeamProfiler.

BLOG POST BONUS QUIZ: Here’s a survey of BI reporting tools. Yes, it is clearly a marketing piece disguised as valid data. We’ve seen such things before. But there are other reasons why this survey is suspect, let me know if you can spot a few of the reasons.

5 thoughts on “SQL Profiler Will Never Die”

  1. Easy consolidation of collected OS and SQL data within Profiler is an option, which most people I talk to value the most. As long as there is no adequate substitution for it, they’ll keep using it. And what most of the hardcore SQL guys forget is, that most DBAs are responsible for way more tasks than just this. They don’t want to parse XML, etc. – they just want to get it done in a quick and easy way.

    Reply
    • I think it’s great that both options exist. It allows for greater flexibility. And some tools still require the output from SQL trace. Thanks for the comment!

      Reply
  2. Tell me if I’m wrong, but I can’t seem to get extended events to do a quarter of what I can do with profiler. It looks to me like someone started adding extended events in 2008, barely got started, and then got a better offer elsewhere and nobody has ever picked it up to finish it since.

    Reply
  3. If Microsoft adds an option of storing parsed output to table for extended events, it would make more people to use extended events.

    Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.