Как посмотреть SQL-запрос в SQL-профилировщике? - PullRequest
5 голосов
/ 07 ноября 2010

Когда я запускаю запрос на обновление или другой запрос на языке манипулирования данными (DML), который изменяет данные в базе данных, используя Entity Framework 4, как я могу увидеть запрос, отправленный на SQL Server?

Давайтескажем, я делаю что-то вроде:

someEntityObjectInstance.SomeProperty = newValue;
context.SaveChanges();

В этом случае нет ObjectQuery для выполнения ToTraceString (), поэтому я не могу реально увидеть, что происходит под прикрытием.Я полагаю, что есть какой-нибудь инструмент Microsoft SQL Server, такой как профилировщик или что-то, что поможет мне увидеть запрос.

Кроме того, некоторые Intellitrace в VS 2010 Ultimate, я думаю, делают то же самое?

Можетвы, пожалуйста, научите меня, как использовать SQL 2005 Profiler, если есть такая вещь?

Обновление

Сейчас я смотрю на трассировку в SQL Server 2005 Profiler, нокогда я выполняю вызов context.DeleteObject() или когда я обновляю объект и вызываю context.SaveChanges(), я не вижу запросов UPDATE или DELETE в профилировщике.Я вижу только странные запросы SELECT.

Ответы [ 2 ]

7 голосов
/ 17 января 2014

Существуют более простые способы, если все, что вам нужно, это посмотреть SQL-запросы, когда они попадают в БД.

Вот два очень легких профилировщика Sql, которые могут выполнять работу для различных разновидностей SqlServer, включая LocalDb- " работал на моей машине (ТМ) "

ExpressProfiler

Безусловно, самый простой в использовании (а также самый простой-покажите меня-тот)-SQL-Statement-kthxbye) это ExpressProfiler на CodePlex .

Скачать крошечный ZIP, Интересно, действительно ли вы получили весь файл (вы сделали), запустите EXE внутри, БАМ!

enter image description here

И вся эта программа - один EXE-файл 126 КБ!Теперь это просто!

AnjLab Sql Profiler

Другой - из DataWizard , который раньше был бесплатным (очевидно, цены сейчас начинаются с 5 долларов).

Кто-то смог сохранить снимок на GitHub (включая устанавливаемые в xcopy двоичные файлы), когда он был с открытым исходным кодом.

Исполняемый файл представлен как «AnjLab Sql Profiler» и позволяет некоторую фильтрацию отображаемых событий - но эта сила также является его слабостью, так как существует очень много типов событий, которые можно включить / отключить.Если все выбрано, то вывод будет в основном подробным.

Более разумный выходной сигнал можно получить, только выбрав определенные события.

enter image description here

Вот события, которые я выбрал для получения вышеуказанного вывода:

enter image description here

2 голосов
/ 07 ноября 2010

вы ответили, sql серверный инструмент под названием profiler

edit:

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

...