I’ve decided that, in fact, it is time to start moving people off the ancient technology, Profiler. Before, I always said, stay where you’re comfortable. However, keeping people comfortable means that they’re also going to keep promoting Profiler/Trace to new people on new platforms. That is a real problem.
To fix the problem of old school, slow, inferior, methods of data collection, troubleshooting, and consuming metrics, we need to educate people. Extended Events are not simply a replacement for Trace. They’re not simply another way to gather query metrics. No, in fact, this is a whole new tool, with new functionality and a very high level of support and engagement from Microsoft. Extended Events are where all new functionality since 2012 provides mechanisms for monitoring behavior.
As technologists we should not be promoting bad technological choices. We would not recommend poor choices for servers settings, indexing, security, or anything else. Right? Yet, we will recommend people use a technology developed in 1998 and not upgraded or enhanced since 2008 when a superior technology exists. You really think it’s a good idea to recommend to people to use a technology that puts more of a load on the server and potentially can crash it? Why would you carefully choose your indexes and then use the worst possible method to observe their behavior?
Nope. It’s time. Responsible technologists will start switching now (if they haven’t already). Those who insist on using Profiler/Trace on systems from 2012 and up are simply retarding progress and hurting their organizations. It’s no longer defensible.
If you truly believe that you don’t need to upgrade this 22 year old technology, then you’ll be fine with running SQL Server 7 and Windows 98. Don’t want those? Then how is it you can really defend using Profiler/Trace? You can’t, other than comfort. Time to get get uncomfortable.
Watch this space. I’m launching a new series of posts entitled “You Can’t Do That With Profiler”. I’ll be showing you all sorts of things you can’t do with Profiler because it’s old, out of date, and just wrong.
Assuming you’re still here, if you’d like a little help starting that journey, I’ll be teaching Extended Events as well as Query Store and Execution Plans and a little bit more at SQLIntersection this spring:
On the other hand, if you want to talk DevOps, I have an all day class at Bits: