How to see SQL query in SQL profiler?
When I issue an update query or another Data Manipulation Language (DML) query that changes the data in the database, using Entity Framework 4, how do I see the query sent to the SQL Server?
Let's say I do something like:
someEntityObjectInstance.SomeProperty = newValue;
context.SaveChanges();
In this case, there's no ObjectQuery to do a ToTraceString() against, so I can't really see what's going on under the covers. I believe there's some Microsoft SQL Server tool like the profiler or something that will help me see the query.
Also, some Intellitrace in VS 2010 Ultimate does the same thing, I think?
Can you please teach me how to use the SQL 2005 Profiler, if there's any such thing?
Update
I am looking at a trace in SQL Server 2005 Profiler now but when I issue a context.DeleteObject()
call or when I开发者_如何学Go update an object and call context.SaveChanges()
, I do not see the UPDATE or DELETE queries in the profiler. I only see wierd SELECT queries.
There are easier ways, if all you want is see the sql queries as they hit the DB.
Here are two very light-weight Sql profilers that can do the job for various SqlServer flavors, including LocalDb - "worked on my machine (TM)"
ExpressProfiler
By far the easiest to use one (and also the most bare-bones-show-me-the-SQL-statements-kthxbye) is ExpressProfiler on CodePlex.
Download tiny ZIP, wonder if you really got the whole file (you did), run EXE inside, BAM!
And the whole program is a single 126 KB EXE ! Now that's lightweight!
AnjLab Sql Profiler
The other one is the one from DataWizard, which used to be free (apparently prices now start at $5).
Somebody managed to save a snapshot on GitHub (including xcopy-installable binaries) when it was open-source.
The executable presents itself as "AnjLab Sql Profiler" and allows some filtering of the displayed events - but this strength is also its weakness, as there are sooo many event types that can be enabled/disabled. If everything is selected, the output is overwhelmingly verbose.
A saner output can be obtain by only selecting specific events.
Here are the events I have selected in order to get the above output:
you answered it, sql server tool called profiler
edit:
http://msdn.microsoft.com/en-us/library/ms187929.aspx
精彩评论