How can I profile a SQL Server 2008 database to see code that's being executed on a particular database? I remember using the SQL Server profiler, but I don't see it in SQL Server Management Studio after downloading SQL Server 2008 R2 Express. Where can I download that tool and install it? Do I need the full version of SQL Server 2008 in order to see this option?

5 Answers 5


SQL Profiler does not come with SQL Server Express 2008 R2*. You can get it with the installation media for Datacenter, Enterprise, Standard, Web, Developer, or Workgroup licenses.

If you have the installation media, you can get Profiler that way. Otherwise, Developer Edition is available for $50.

There are some other tools available, and you could even create your own server-side traces (for example) without Profiler. Then, use a tool like Qure Workload Analyzer to review the trace files. With 2008 R2, you could in addition use Extended Events to track activity. The advantage is that both of these are less of a performance hit than running Profiler would be.

If you're looking at a point-in-time solution and can install procedures, Adam Machanic's sp_whoisactive could be something to look into.

* Profiler is available in SQL Server 2012 Express Edition SP1 onward. You need to select SSMS (Complete) in the installation options.


Even though SQL Profiler does not come with SQL Server Express, you can still create server-side traces using T-SQL.

Check out sp_trace_create and sp_trace_setevent. The page for sp_trace_setevent also has a list of traceable event numbers.

Finally, if you need a place to get started, this link may serve as a good jumping-off point.


There is a free, open source tool called ExpressProfiler - https://expressprofiler.codeplex.com/ Very convenient tool. In addition to SQL Express databases, it even supports a localDB.


It's not included with Express Edition, but the other (non-free) editions have it, including Developer Edition, which is about $60 (USD) list. You may run into some sticky licensing situations, however, which I can't address with authority.


If looking for a UI that will get traces in real-time, the ExpressProfiler is good. But it's a bit simple, and not very configurable.

This is a nice alternative, very configurable and I use use it all the time now. It's called Sql ExpressTRace and this link is to an article that lets you download the compiled UI and the code too: http://www.codeproject.com/Articles/784905/Real-time-Tracing-With-SQL-Server-Express

Not the answer you're looking for? Browse other questions tagged or ask your own question.