SQL Server Insert зависает - заблокирован процессом - PullRequest
1 голос
/ 18 января 2012

, когда я пытаюсь запустить вставку в приложении, она зависает и в конечном итоге истекает время.

Я запустил EXEC SP_WHO2, пока он еще работал, и заметил, что он был заблокирован другим процессом, и произошла ошибка.«блокировка» в «типе ожидания»

что это значит?как мне это исправить?я так растерялся.

процесс, который был в поле "Заблокировано", содержал оператор удаления.Я подтвердил утверждение, и оно отлично работает.

1 Ответ

0 голосов
/ 26 января 2012

Похоже, что ваша предыдущая транзакция находится в открытом состоянии из-за некоторой ошибки в вашей хранимой процедуре, которая препятствует фиксации / откату транзакции в отсутствие обработки исключений. Это вызывает блокировку таблицы и применение зависает в следующем запросе Ниже приведен рекомендуемый подход ...

set xact_abort on
Begin Try
  Begin Tran
    //SQl Query
  Commit Tran
End Try

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