SQL Server Profiler deprecation – Replacement?

SQL Server Profiler deprecation – Replacement?

I am developing ASP.NET and SQL Server applications, sometimes i am having trouble with a SQL Query, and i would like to see the SQL Servers “response” and not just the ASP.NET error message (Which is not always very helpfull)
The Profiler.exe tool in SQL Server is capable of this, but im reading on MSDN that Microsoft is planning to deprecate the tool.

We are announcing the deprecation of SQL Server Profiler for Database Engine Trace Capture and
Trace Replay. These features will be supported in the next version of SQL Server, but will be
removed in a later version. The specific version of SQL Server has not been determined. The
Microsoft.SqlServer.Management.Trace namespace that contains the Microsoft SQL Server Trace and
Replay objects will also be deprecated. Note that SQL Server Profiler for the Analysis Services
workloads is not being deprecated, and will continue to be supported.

They don’t mention what tool will replace profiler.exe
Does anyone know anything about that?
And are there any alternatives to profiler if i want to see (recent?) unsuccessful queries?


Solution 1:

While it is safe to continue using trace for the next few versions, Profiler is never the answer (some evidence here). If you’re going to use trace, use a server-side trace. Just don’t write new code that will utilize trace and expect to live beyond a few versions.

The long-term answer is to use extended events. A blog you’ll want to watch is SQL Server MVP Jonathan Kehayias of SQLskills.com. He has done a great job explaining extended events in laymen’s terms and providing many, many ready-to-use examples. He also has great courses on PluralSight (which you can currently get for free through Visual Studio Dev Essentials):