As main stream support for SQL Server 2012 comes to an end this summer, somewhere between 60% and 80% of us are still on SQL Server 2008 R2. My bet is that means most of us are still using the tried and true SQL Server Profiler for troubleshooting. Despite some amazing blog posts and speaker sessions, lots of us are still not using Extended Events (XEvents or XE) on our newer instances. We know that Profiler is deprecated, and we know that there are a kajillion more XEvents than Profiler Trace events. We know that Profiler puts a much bigger strain on the system, but Profiler is so fast and easy to setup! Or is it? Let’s compare them, assuming you want to use the GUI and don’t have templates saved on every server.
Say we get the dreaded “the system is slow” call, and we enter panic mode. Maybe we’re fortunate enough to have an elaborate baseline; but, before we begin a time-consuming comparison, we want to quickly see what is happening right now.
I used a local copy of SQL Server 2016 Enterprise Edition for this comparison, and I could’ve sworn setting up an XE was much more tedious than setting up a Profiler trace. I was wrong. It was partly just perception, and it was partly learning how to select fields for multiple events at the same time with XE.
Profiler = About 24 Clicks
Extended Event = About 26 Clicks
The details follow. Maybe you will see even more room for improving the efficiency of the setup.
In SQL Server Management Studio (SSMS), we start out with 4 clicks to get to the Trace Properties window. Tools –> SQL Server Profiler –> Connect –> Events Selection: