Hosea146
Hosea146

Reputation: 7702

SQL Profiler - What could be improved?

I don't know much about SQL Profiler and just purchased Brad McGehee's book, Master SQL Server Profiler to learn more. In the book, he says, a couple times, how bad the user experience is, and that it could be more feature rich.

For those of you with Profiler experience, what would you like to see changed or improved?

Thanks very much

Upvotes: 5

Views: 286

Answers (3)

Remus Rusanu
Remus Rusanu

Reputation: 294177

I would like the GUI to do something as simple as remember the position and size of columns when I restart a trace...

Upvotes: 3

Martin Smith
Martin Smith

Reputation: 452947

I don't think it's so bad as a GUI to SQL Trace. SQL Trace itself has its limitations though and will surely be superseded by extended events.

There's minor workflow annoyances such as to script out traces you need to start the trace then immediately stop it again.

The number one thing I would have liked to have seen though is better filtering possibilities. Unless there's something I've missed in the GUI I don't think it is possible to combine even really simple boolean conditions such as filtering on both spid=50 and spid=75 simultaneously.

Edit I had missed something in the GUI - See @JP's comment!

I'm pretty sure that there is no way of setting up a SQL Profiler Trace though to combine a moderately more complex condition such as capturing all queries for which either one of the following applies.

  1. The total cpu of the query was >= x miliseconds - or -
  2. The total number of reads was >= y

Upvotes: 3

Andomar
Andomar

Reputation: 238048

The #1 problem with SQL Profiler is that doing simple things is hard. Say you'd like to trace a single user:

  1. Open SQL Profiler
  2. Click "New Trace" from the menu (What's a new trace? I just want to monitor a user.)
  3. Go to the "event selection tab" (tab 1 contains only options I've never used in over 10 years)
  4. Click on the "Column Filters" button (this doesn't filter on columns, but on event properties)
  5. Select LoginName (or, depending on the login mode, NTLoginName)
  6. Click "Like"
  7. Enter the username (there's no check if your user exists, so don't typo)
  8. Check "Exclude rows that do not contain values"
  9. Click the OK button
  10. Click the Run button (despite the Run, a traces just watches)

Pretty much all of these steps are anti-intuitive.

A better GUI would make easy stuff easy. Come up with a dialog that allows you to select database(s), select user(s), and click GO. That would cover 90% of use cases in 2 steps. A 500% improvement!

Upvotes: 4

Related Questions