How to see SQL query in SQL profiler?

2019-02-22 22:49发布

问题:

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 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.

回答1:

you answered it, sql server tool called profiler

edit:

http://msdn.microsoft.com/en-us/library/ms187929.aspx



回答2:

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: