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