Using SQL Profiler on a database that's in production As a developer, I use SQL Profiler quite often. It's a good debugging tool, both to track what my code is doing and to analyse performance problems.

But I've always used it on my development environment, and in a very controlled way.


Start my application, and get it into a specific state
Start a trace on the profiler
Perform a specific sequence of actions on my application
Stop the trace and examine the results.


Can the SQL Profiler be practically used in an in-production environment?

My first concern is that it would degrade the performance.

My second concern is that, because it's in production, you aren't triggering the interesting actions itself. You would have to leave the profiler running for a long period then analyse the results. Would the result set become too unwieldy? (Taking up too much disk space and being too hard to query).

Does anyone use the SQL Profiler in production?
I use SQL Profiler against production all the time.  When done correctly (filtering so that you get back a very small amount of data) against a server the risk is minimal.  Tracing everything down would be useless.