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.
http://msdn.microsoft.com/en-us/library/ms181091.aspx
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?
There are six alternatives to Sql Server Profiler for Windows, Linux, SQL Server Management Studio and Mac. The best alternative is dbForge Event Profiler for SQL Server, which is free. Other great apps like Sql Server Profiler are ExpressProfiler, Neor Profile SQL, Datawizard SQL Profiler and IdealSqlTracer.
SQL Trace and SQL Server Profiler are deprecated.
Profiler is deprecated. Well, yes it is, but only from SQL 2016. The ability to not have to terminate your SQL statements with a semicolon has been deprecated since 2005 and we can still do that. And as Hugo Korenelius informs me, there are features that have been deprecated even longer and are still with us.
As you can clearly see, SQL Server Profiler has a significant performance impact and server-side traces have an almost negligible effect. You can also see that the impact gets much more pronounced when the number of batch requests per second and server CPU usage increase.
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):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With