views:

21

answers:

2

I want to know if it's possible to profile my web application when it's hitting a database on a SQL Server Express server with ANTS profiler.

Out of the box, I'm not able to. It's complaining about:

No event provider could be located for the SQL server instance 'SQLEXPRESS'

Has anyone been able to get around this, or do I have to upgrade my sql server?

A: 

ANTS Profiler would profile the performance of the SQL Express binary executable. Are you going to try and tweak the database engine itself?

SQL Server has a profiler of its own that will give you a lot of information about the performance of queries, you can also use execution plans to see where within a particular query a performance bottleneck is occurring.

I've upgraded my server as it were (actually I have an MSDN licence so I can play with whichever one I like) so I have full access to all the tools. There is ~this~ option which is open source, but I've never tried it.

webturner
A: 

Where should I starts?... Lets just stick with the basics: ANTS is a manager profiles. SQL Server is a native application. So besides the other minor hurdles like lack of symbols, imposibility to instrument the binaries and not least breaking your EULA terms, the simple fact that you're trying to use managed code profiler on a native binary should be enough to convince you of the error of your ways.

Perhaps you are looking for the SQL Profiler application?

Remus Rusanu
When I run ANTS Performance Profiler 6, it has (OOB) support for three "areas". Memory and Processor - #1. File I/O - #2. and SQL Db stuff - #3. While running the profile I can switch between the modes in real time, but the SQL portion is always empty. It says it's empty because I have SQLEXPRESS and there are no profiler endpoints for it to hook into. So this is definitely possible, I watched a video on it, but apparently you need to have at least SQL Developer edition to have the proper "hooks" for the profiler to latch onto.
Joseph
ANTS profiles **your** application for database calls, not the server.
Remus Rusanu
ANTS uses ETW for monitoring your application SQL calls. ETW events are not available in SQL Server Express Edition. http://blogs.msdn.com/b/sqlqueryprocessing/archive/2006/11/12/using-etw-for-sql-server-2005.aspx
Remus Rusanu
@Remus I see what you're saying, I meant in regards to my application in my question, I'll reword to make it more clear. So there's no way around the issue that ETW events are not available on SQL Express?
Joseph
I'm afraid not. But since profiling is a development time activity, you should be able to buy a SQL Server Developer Edition for about $50, then profile and tune your application on the Dev instance. Developer editions are fully enabled, have all features from enterprise and Datacenter editions enabled.
Remus Rusanu