Я пытаюсь найти операторы SQL, время ожидания которых истекло, используя профилировщик SQL 2005. Есть ли способ установить такой фильтр?
Как найти истекшие операторы в профилировщике SQL 2005
Ответы (3)
В Profiler вы можете добавить событие «Внимание» в разделе «Ошибки и предупреждения». Это определение
Собирает все события внимания, такие как запрос клиента на прерывание или разрыв соединения с клиентом.
Что касается других ошибок (взаимоблокировок, ограничений и т. д.), попробуйте «Предупреждение о выполнении» (сообщает о предупреждении, произошедшем во время выполнения инструкции или процедуры SQL) или «Сообщение об ошибке пользователя» (сообщение об ошибке, отображаемое пользователю в случае ошибка или исключение).
да.
- Отметьте «Все события»
- Перейти в раздел замков
- Укажите события "lock: Timeout"
Событие блокировки в электронной документации
Теперь это работает с блокировками на стороне сервера (@@LOCK_TIMEOUT ‹> 0). Я не знаю, будет ли превышен тайм-аут на стороне клиента.
Один из вариантов: если вы знаете, какие тайм-ауты настроены вашим клиентом (т.е. 30 секунд по умолчанию), вы можете настроить фильтр для своей трассировки, чтобы собирать только события с продолжительностью, превышающей или равной вашему тайм-ауту (минус секунда или два).