Хранимая процедура / запрос выполняется вечно (не завершено или истекло время ожидания) - PullRequest
0 голосов
/ 08 октября 2011

Я использую SQL Server 2005, клиент SQL Server Studio.У меня длинная хранимая процедура (она выполняет кучу объединений таблиц, некоторые удаляет, некоторые вставляет и некоторые обновления) периодически (примерно каждые 2 минуты).

После того, как у меня появился этот sp, я заметил, чтомоя база данных иногда не отвечает (это происходит несколько раз, когда SP не работает, и много раз во время работы SP).Когда БД не отвечает, я не могу открыть новое соединение от клиента студии SQL Server, если я выполняю запрос / sp, статус будет работать и останется таковым до тех пор, пока я не вручную сброслю службу SQL из панели управления.tools.

Вы видели похожие проблемы?

Возможно, потому что вновь созданный SP делает слишком много вещей и вызывает сбой БД?

Ответы [ 2 ]

0 голосов
/ 09 октября 2011

Еще несколько быстрых советов:

  • Вы можете использовать команду sp_who2, чтобы просмотреть текущие сеансы в БД и определить, заблокирован ли SP или другие процессы.
  • Проверьте примерный план выполнения для SP и найдите источники медлительности, такие как сканирование таблиц.
  • Ваш SP может вносить слишком много изменений в одну транзакцию и заполнять журнал транзакций или увеличивать его. Проверьте режим восстановления вашей БД и регулярно ли выполняйте резервное копирование, чтобы можно было повторно использовать пространство журнала транзакций. Рассмотрите возможность пакетирования больших модификаций на более мелкие куски.
0 голосов
/ 08 октября 2011

Похоже, ваш SP может вызывать блокировки. Вы можете использовать SQL Profiler, чтобы попытаться глубже понять, что может происходить. Вот ссылка с дополнительной информацией -

http://www.simple -talk.com / SQL / учиться-SQL-сервер / How-To-трек-вниз-тупики-используя-SQL-сервера 2005-профайлер /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...