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

Откуда: Москва
Сообщений: 1176
ну могу понять, что происходит.
тут вроде один и тот же ресурс и заблокирован, и ожидается?

<deadlock>
 <victim-list>
  <victimProcess id="process1141cc4e8" />
 </victim-list>
 <process-list>
  <process id="process1141cc4e8" taskpriority="0" logused="0" waitresource="KEY: 15:72057601777270784 (17792e1b45d5)" waittime="11111" ownerId="1645451334" transactionname="user_transaction" lasttranstarted="2015-12-07T20:21:14.990" XDES="0xe89338e0" lockMode="U" schedulerid="9" kpid="10564" status="suspended" spid="89" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-12-07T20:21:14.977" lastbatchcompleted="2015-12-07T20:21:14.977" lastattention="1900-01-01T00:00:00.977" clientapp="СКИФ-Бюджетный процесс (веб-сервис)" hostname="TAPP12" hostpid="5864" loginname="FINTECH\evanov" isolationlevel="read committed (2)" xactid="1645451334" currentdb="15" lockTimeout="4294967295" clientoption1="673185824" clientoption2="128056">
   <executionStack>
    <frame procname="Rostov_BP.lock.p_LockObject_2" line="154" stmtstart="11086" stmtend="11420" sqlhandle="0x03000f008f4b4f2e5c2c450164a5000001000000000000000000000000000000000000000000000000000000">
delete lock.[Object] 
			    from lock.[Object] o
			    inner join #Lock l
			    on (o.[Object_ID]=l.ID)
			    where (o.[SID]=sUser_sID() and @ReLock4UserName=1    </frame>
   </executionStack>
   <inputbuf>
Proc [Database Id = 15 Object Id = 776948623]   </inputbuf>
  </process>
  <process id="process12b879c28" taskpriority="0" logused="0" waitresource="KEY: 15:72057601777270784 (5f9bfef1546f)" waittime="624" ownerId="1645443359" transactionname="user_transaction" lasttranstarted="2015-12-07T20:21:14.413" XDES="0x1a943d8e0" lockMode="U" schedulerid="1" kpid="7412" status="suspended" spid="51" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-12-07T20:21:14.400" lastbatchcompleted="2015-12-07T20:21:14.373" lastattention="1900-01-01T00:00:00.373" clientapp="СКИФ-Бюджетный процесс (веб-сервис)" hostname="TAPP12" hostpid="6048" loginname="FINTECH\evanov" isolationlevel="read committed (2)" xactid="1645443359" currentdb="15" lockTimeout="4294967295" clientoption1="673185824" clientoption2="128056">
   <executionStack>
    <frame procname="Rostov_BP.lock.p_LockObject_2" line="154" stmtstart="11086" stmtend="11420" sqlhandle="0x03000f008f4b4f2e5c2c450164a5000001000000000000000000000000000000000000000000000000000000">
delete lock.[Object] 
			    from lock.[Object] o
			    inner join #Lock l
			    on (o.[Object_ID]=l.ID)
			    where (o.[SID]=sUser_sID() and @ReLock4UserName=1    </frame>
   </executionStack>
   <inputbuf>
Proc [Database Id = 15 Object Id = 776948623]   </inputbuf>
  </process>
 </process-list>
 <resource-list>
  <keylock hobtid="72057601777270784" dbid="15" objectname="Rostov_BP.lock.Object" indexname="PK_lock_Object" id="lockfbe4c280" mode="U" associatedObjectId="72057601777270784">
   <owner-list>
    <owner id="process12b879c28" mode="U" />
   </owner-list>
   <waiter-list>
    <waiter id="process1141cc4e8" mode="U" requestType="wait" />
   </waiter-list>
  </keylock>
  <keylock hobtid="72057601777270784" dbid="15" objectname="Rostov_BP.lock.Object" indexname="PK_lock_Object" id="lock269bf0e00" mode="U" associatedObjectId="72057601777270784">
   <owner-list>
    <owner id="process1141cc4e8" mode="U" />
   </owner-list>
   <waiter-list>
    <waiter id="process12b879c28" mode="U" requestType="wait" />
   </waiter-list>
  </keylock>
 </resource-list>
</deadlock>


К сообщению приложен файл. Размер - 80Kb
8 дек 15, 13:23    [18529323]     Ответить | Цитировать Сообщить модератору
 Re: непонятка с Deadlock  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
Mike_za
тут вроде один и тот же ресурс и заблокирован, и ожидается?
Разные - KEY: 15:72057601777270784 (17792e1b45d5) и KEY: 15:72057601777270784 (5f9bfef1546f)
8 дек 15, 13:39    [18529451]     Ответить | Цитировать Сообщить модератору
 Re: непонятка с Deadlock  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Разный порядок обращения к ключам. Как минимум должен быть индекс на временной таблице по ID, а к нему желательно именть индекс на lock.Object ( SID, ID ) или наоборот.
8 дек 15, 14:00    [18529622]     Ответить | Цитировать Сообщить модератору
 Re: непонятка с Deadlock  [new]
Mike_za
Member

Откуда: Москва
Сообщений: 1176
спасибо!
8 дек 15, 16:46    [18531101]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить