SQL Server Profiler показывает запросы EF к базе данных master?


Чего мне здесь не хватает? Запросы, которые я вижу в SQL Server Profiler, все нацелены на Главную базу данных, что затрудняет фильтрацию по имени базы данных ... какое событие или события я должен наблюдать, чтобы я мог фильтровать по имени базы данных.

Главный вопрос, что именно здесь происходит?

6 3

6 ответов:

Вы должны удалить этот 'MultipleActiveResultSets=True' из вашего соединения EntityFramework

Строка

После этого вы можете увидеть имя целевой базы данных , отображаемое в Профилировщике, вместо master.

В моем варианте, возможно ADO.NET команда хочет использовать функцию MultipleActiveResultSets, чтобы получить

Данные из БД, поэтому они должны обращаться к мастеру.

MultipleActiveResultSets - это вызов одного запроса и не возвращает весь его результат (как в foreach оператор в LINQ), и в то же время, вызовите другой запрос, чтобы получить другие данные в том же сеансе.

По умолчанию это поведение не разрешено БД. SO.....

Я смог обойти эту проблему, в том числе оставив MARS активным, добавив имя приложения в строку подключения:

Data Source=database_server;Initial Catalog=MyDatabase;Trusted Connection=true;MultipleActiveResultSets=True;Application Name=MyDatabase;

Затем вы можете фильтровать по имени приложения.

Если это для SQL Server 2008 R2, в свойствах трассировки на вкладке "выбор событий" установите флажок "Показать все столбцы". После этого вы сможете создать фильтр столбцов на основе DatabaseName.

Я полагаю, что вам придется приостановить или остановить трассировку, чтобы внести эти изменения.

Как указал К. Иванов, включение MARS (MultipleActiveResultSets) покажет имя базы данных в качестве master в SQL Profiler. Установив значение false, он покажет правильное имя базы данных, но тогда вы потеряете возможность иметь MultipleActiveResults.

Вы можете использовать LoginName или HostName для фильтрации в профилировщике

По какой-то причине, если я выбираю событие SP:CacheHit, оно теперь показывает запросы к правильной базе данных, и я могу фильтровать по нему. Что же это за событие такое?