Мой клиент сталкивается с некоторыми взаимоблокировками при использовании нашего приложения. Я хочу отслеживать все тупики для моих исследований и решать тупики.включить профайлер/Traceon после автоматического перезапуска сервера SQL
В настоящее время я запускаю профилировщик SQL для графа взаимоблокировки событий для захвата сценария взаимоблокировки.
Фактическая проблема заключается в том, что SQL-сервер перезапускается каждый день в 2 часа ночи, а профилировщик прекращает сбор событий после перезапуска. к моменту, когда я прихожу в офис при запуске профайлера, скажем, 10 утра, могут быть тупики, которые я мог пропустить между 2:00 и 10:00. так что я ищу способ, чтобы я мог зафиксировать тупики без моего запуска вручную.
Я думал, что могу использовать TRACEON (1204, -1), чтобы события блокировки были зафиксированы в журналах ошибок SQL Server. Но я обнаружил, что захват TRACE также отключается после перезапуска.
Есть ли способ, чтобы я мог зафиксировать взаимоблокировки либо с помощью профилировщика SQL, либо с помощью TRACEON без меня, начиная с первого запуска?
Нихилу
ну, в этом случае все, что я получаю, это только жертва sql, и это тоже выполняется только самый верхний sql. Если я получу тупиковый график, я могу легко найти, какой именно sql вызывает тупик. например, если хранимый proc вызывает другой и снова вызывает другой сохраненный процесс, где происходит тупик, я получу самый внутренний sql, вовлеченный в тупик, используя профилировщик, но не получал бы их без них. поэтому я действительно хочу получить трассировку. – Nikhil