#sql-server
#sql-сервер
Вопрос:
Я знаю, что длительность, показанная профилировщиком SQL Server, не совпадает со значениями duration (dd hh: mm:ss.mss) для данного оператора select. Кто-нибудь знает, почему это не соответствует. пожалуйста, поправьте меня, если я ошибаюсь, но, насколько я понимаю, оба они фиксируют запущенные запросы в данный момент. Однако попытка понять, почему sp_whoisactive
не будет совпадать с профилировщиком.
Спасибо
Ответ №1:
Было бы полезно привести несколько примеров того, как вы пришли к своему выводу. Вы также должны прочитать это, чтобы понять, как sp_whoisactive обрабатывает запросы на сон и активные запросы в отношении времени.
Определения того, что означает каждое событие трассировки, определены на этой странице документации
Комментарии:
1. мы проводили нагрузочный тест с использованием Apache Jmeter, при этом происходили вставки. Я отслеживал эти вставки с помощью sp_whoisactive, и продолжительность составляла около 20 мс, но профилировщик показывал около 0 или 2 мс в графическом пользовательском интерфейсе. Я не запускал трассировку на стороне сервера, поскольку это тестовый сервер. Пытаюсь понять, почему несоответствие. Спасибо за ваши комментарии.
2. Я смог посмотреть на sp_whoisactive и длительность профилировщика и теперь могу понять. Спасибо за эти ссылки. Они проясняют. Показатели, сообщаемые sp_whoisactive, являются более значимыми и точными. Не говоря уже о том, что профилировщик показывает неправильные данные, но профилировщик не охватывает внутренние детали спящих и активных запросов до глубины sp_whoisactive. Большое спасибо, Мартин. Ценю вашу помощь.