Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 проблема с дедлоком MS SQL  [new]
zsv
Member

Откуда:
Сообщений: 91
День добрый. Возникла проблема, помогите разобраться...
Есть приложение роботающее с MS SQL, подключение через АДО. Все работало нормально, пока я не захотел чтобы это приложение работало как Служба. Все сделал, работает, но на одном из серверов (приложение работает на десяти не связанных др с др серверах) периодически, довольно часто, но не стабильно стала вылетать ошибка "Transaction (Process ID 54) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction"". Сейчас опишу более предметно...

В приложении два потока, у каждого свое подключение к базе. Во втором потоке идет основная работа - периодический запуск сохраненных процедур, выполняющих целевые задачи. Все процедуры во время выполнения регистрируют "свою работу" в специальной таблице, в которой потом периодически обновляют "свою активеость". При завершении работы сохраненка удаляет из этой таблицы запись со своей активностью. В главном потоке замкнутый цикл, в котором ничего не делается, кроме обработки системных сообщений и чтения этой специальной таблицы на предмет активностей работы сохраненных процедур. Считывание реализовано запросом select *, GetDate() as DtNow, Cast(Host_name() as Char(128)) as HostNow,Cast(DateDiff(ss,DtStart,Getdate()) as Real) as TimeExec from zsUsesObjects with(nolock) where Object=@Object

Такое впечатление будто этот запрос блокирует запись, а запрос на обновление этой таблы в сохраненке уже дает ошибку. Но где тут дедлок - не пойму... Причем ошибка стала появляться только на серваке где Win server 2012 и SQL2005, в остальных девяти случаях Win Server 2003 и SQL2000 - там ошибка еще ниразу не проявлялась...И повторюсь, только когда приложение установлено как Служба. Если приложение работает как обычное риложение, ошибка также не проявляется...
4 фев 18, 17:02    [21164542]     Ответить | Цитировать Сообщить модератору
 Re: проблема с дедлоком MS SQL  [new]
invm
Member

Откуда: Москва
Сообщений: 9349
Показывайте граф дедлока. В виде xml.
4 фев 18, 17:09    [21164557]     Ответить | Цитировать Сообщить модератору
 Re: проблема с дедлоком MS SQL  [new]
zsv
Member

Откуда:
Сообщений: 91
ок, я настрою создание графа и как только возникнет дедлок след раз, сразу напишу
4 фев 18, 17:35    [21164574]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить