2008-09-09 3 views
3

Я ищу предложения о том, как отлаживать и пресекать проблемы блокировки в базе данных SQL Server 2000. Я рекомендовал мне использовать флаги трассировки 1024 и 3605, которые я нашел, чтобы дать мне следующее:SQL Server 2000 - отладка тупиков

1024 - этот флаг трассировки возвращает тип блокировок, участвующих в тупике, и текущую команду.

3605 - этот флаг трассировки отправляет вывод трассировки в журнал ошибок.

Конкретные хранимые процедуры, таблицы и индексы должны быть раскрыты, поэтому целью является использование этих флагов трассировки для этого. И затем оттуда я буду лучше знать, какие индексы нуждаются в настройке, блокирующие подсказки для настройки запросов и возможные ошибки sproc для исправления.

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

ответ

2

После того, как вы знаете заявления SQL, анализ кода, безусловно, поможет. Некоторые правила большого пальца проверяют порядок доступа к строкам и проверку уровня изоляции, используемого для операторов SQL. Трассировка профилировщика может помочь.

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