Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
Доброго времени суток.

После ручного обновления статистики (по сути больше ничего в базе не делалось) резко увеличилось количество deadlock'ов.
Практически все они возникают при вставке строки (один процесс) и обновлении по primary key в одной таблице. Таблица около 24 млн. записей, РК состоит из трех полей (но не кластерный, так исторически сложилось). Сервер - 2014-ый.
Уже делал полный ребилд индексов (РК так вобще drop/alter) - ничего не меняется.
С такой ситуацией сталкиваюсь впервые.
Что можете посоветовать?
12 мар 15, 11:50    [17374196]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Glory
Member

Откуда:
Сообщений: 104760
Zioma
Что можете посоветовать?

Как и для одиночного дедлока - изучать граф в поисках причины дедлока.
12 мар 15, 11:53    [17374224]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
Запущен профайлер.
Вроде как изучаю :)

Например, один и случаев:
в одном процессе insert into () values () (из процедуры)
в другом DELETE table WHERE sid = 0 AND date = @date AND nop = @nop (так же из процедуры).
По полям sid, date, nop построен РК.

Я вобще не понимаю, как в такой ситуации может быть deadlock :(
12 мар 15, 12:04    [17374310]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Glory
Member

Откуда:
Сообщений: 104760
Zioma
Я вобще не понимаю, как в такой ситуации может быть deadlock :(

Для понимания смотрят в граф.
12 мар 15, 12:06    [17374320]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
Вот граф и его текст:
+

<deadlock-list>
<deadlock victim="process527041468">
<process-list>
<process id="process527041468" taskpriority="0" logused="0" waitresource="OBJECT: 7:6499302:0 " waittime="387" ownerId="18980349" transactionname="DELETE" lasttranstarted="2015-03-12T10:11:30.150" XDES="0x519faa3b0" lockMode="X" schedulerid="6" kpid="44236" status="suspended" spid="63" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-03-12T10:11:29.913" lastbatchcompleted="2015-03-12T10:10:35.673" lastattention="2015-03-12T09:47:11.220" clientapp="OFIS.BUHGALT.00006" hostname="I1060004586" hostpid="536" loginname="PZUGROUP\okarplyuk" isolationlevel="read uncommitted (1)" xactid="18980349" currentdb="7" lockTimeout="100000" clientoption1="673187888" clientoption2="128048">
<executionStack>
<frame procname="Account.dbo.stornoProvodka" line="17" stmtstart="630" stmtend="782" sqlhandle="0x03000700d965f031a599bb006fa1000001000000000000000000000000000000000000000000000000000000">
delete from dbo.PROVODKA where SID = @SID and DateOp = @dateOp and Nop = @no </frame>
<frame procname="adhoc" line="1" stmtstart="106" sqlhandle="0x010007007b80631da070280f1e00000000000000000000000000000000000000000000000000000000000000">
exec dbo.stornoProvodka @P1, @P2, @P3, @P4, @P5 </frame>
<frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
(@P1 int,@P2 datetime,@P3 int,@P4 int,@P5 varchar(9))exec dbo.stornoProvodka @P1, @P2, @P3, @P4, @P5
</inputbuf>
</process>
<process id="process502b77468" taskpriority="0" logused="0" waitresource="OBJECT: 7:6499302:0 " waittime="387" ownerId="18980352" transactionname="INSERT" lasttranstarted="2015-03-12T10:11:30.150" XDES="0x5012b8d80" lockMode="X" schedulerid="1" kpid="9224" status="suspended" spid="189" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-03-12T09:36:24.787" lastbatchcompleted="2015-03-12T09:36:03.673" lastattention="1900-01-01T00:00:00.673" clientapp="OFIS.INSURANCE.00006" hostname="I10700000532" hostpid="1812" loginname="PZUGROUP\ezinakova" isolationlevel="read uncommitted (1)" xactid="18980352" currentdb="7" lockTimeout="100000" clientoption1="673187888" clientoption2="128048">
<executionStack>
<frame procname="Account.dbo.DAC_CreateAccountPostings" line="104" stmtstart="9268" stmtend="10584" sqlhandle="0x03000700f4e31d499202b5003da2000001000000000000000000000000000000000000000000000000000000">
INSERT INTO dbo.PROVODKA
(
DateOp, Nop, CodeZatr, DebCountNo,
DebDK_KOD, DebContrNo, DebDeptNo, KredCountNo,
KredDK_KOD, KredContrNo, KredDeptNo, S,
ValCode, Kurs, Sval, SO,
ExpItem, DateEdit, CodeUser, NameUser
)
VALUES
(
@DateOpNew, @NopNew, @CodeZatr, '9001106101',
@DebDK_KOD, @DebContrNo, @DebDeptNo, '4901101105',
@AgentDK_KOD, @AgreementDOG_NO, @KredDeptNo, @Payment,
'UAH', 1, @Payment, 'Нарахування резерву агентської винагороди',
@ExpItem, GetDate(), 0, 'DAC: 1' </frame>
<frame procname="adhoc" line="1" stmtstart="62" sqlhandle="0x0100070042ad600c70bfbd342000000000000000000000000000000000000000000000000000000000000000">
exec dbo.DAC_CreateAccountPostings @P1,@P2 </frame>
<frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
(@P1 varchar(1),@P2 varchar(4))exec dbo.DAC_CreateAccountPostings @P1,@P2
</inputbuf>
</process>
</process-list>
<resource-list>
<objectlock lockPartition="0" objid="6499302" subresource="FULL" dbid="7" objectname="Account.dbo.PROVODKA" id="lock2588cd7b00" mode="IX" associatedObjectId="6499302">
<owner-list>
<owner id="process502b77468" mode="IX"/>
<owner id="process502b77468" mode="X" requestType="convert"/>
</owner-list>
<waiter-list>
<waiter id="process527041468" mode="X" requestType="convert"/>
</waiter-list>
</objectlock>
<objectlock lockPartition="0" objid="6499302" subresource="FULL" dbid="7" objectname="Account.dbo.PROVODKA" id="lock2588cd7b00" mode="IX" associatedObjectId="6499302">
<owner-list>
<owner id="process527041468" mode="IX"/>
<owner id="process527041468" mode="X" requestType="convert"/>
</owner-list>
<waiter-list>
<waiter id="process502b77468" mode="X" requestType="convert"/>
</waiter-list>
</objectlock>
</resource-list>
</deadlock>
</deadlock-list>


К сообщению приложен файл. Размер - 56Kb
12 мар 15, 12:32    [17374559]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
Может поможет кто разобраться?
12 мар 15, 13:06    [17374799]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
aleks2
Guest
Покури, может это твой случай.
http://sqlindian.com/2012/07/07/deadlocks-involving-lock-partitions/
12 мар 15, 13:10    [17374832]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
Zioma,

а тексты вот этих двух процедур можно?

1) exec dbo.DAC_CreateAccountPostings @P1,@P2
2) exec dbo.stornoProvodka @P1, @P2, @P3, @P4, @P5

ну или хотябы ответьте на вопросы:

delete from в процедуре (2) много строк удаляет?
insert into в процедуре (1) не в цикле крутится, вокруг которого явная транзакция? если да, как много insert'ов там выполняется?

просто обе транзакции, влядея блокировкой IX на таблицу, захотели конвертнуть IX до X на таблицу (0 partition).

м. б. эскалация блокировок?
12 мар 15, 13:38    [17375016]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
+ увидеть бы полный DDL для Account.dbo.PROVODKA (со всякими WITH)
12 мар 15, 13:41    [17375044]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
+ вместе с deadlock'ом помониторьте еще и

Lock:Escalation
12 мар 15, 13:44    [17375070]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
churupaha
1) exec dbo.DAC_CreateAccountPostings @P1,@P2
2) exec dbo.stornoProvodka @P1, @P2, @P3, @P4, @P5


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

churupaha
delete from в процедуре (2) много строк удаляет?

Одну, отбор строго по РК

churupaha
insert into в процедуре (1) не в цикле крутится, вокруг которого явная транзакция? если да, как много insert'ов там выполняется?

Да, в цикле (курсор), но явного создания транзакции нет.
Количество инсертов - от 1 и больше.

И да, я заметил, что во всех deadlock'ах участвует процес с циклом.
12 мар 15, 15:12    [17375750]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
Zioma
...явного создания транзакции нет....
...количество инсертов - от 1 и больше...
...во всех deadlock'ах участвует процес с циклом...


м. б. выше где-то по коду обернуто в транзакцию (begin tran/commit tran в процедуре выше по стеку, или в вызывающем приложении транзакция инициируется, а вызовы ваших хранимок уже в пределах одной транзакции...)

помониторьте Lock:Escalation + Lock:Deadlock - есть ли такие события? чтобы подтвердить или отсеять это направление...
12 мар 15, 15:21    [17375837]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
churupaha
помониторьте Lock:Escalation + Lock:Deadlock - есть ли такие события? чтобы подтвердить или отсеять это направление...

Да, уже запустил.
Жду результата ...
12 мар 15, 15:28    [17375914]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
churupaha
помониторьте Lock:Escalation + Lock:Deadlock - есть ли такие события? чтобы подтвердить или отсеять это направление...

Нет, Lock:Escalation не проявилось
churupaha
м. б. выше где-то по коду обернуто в транзакцию (begin tran/commit tran в процедуре выше по стеку, или в вызывающем приложении транзакция инициируется, а вызовы ваших хранимок уже в пределах одной транзакции...)

Вобще в системе есть такие конструкции (из приложения вызывается begin tran), но в случаях deadlock'ов такого не нашел.
12 мар 15, 16:26    [17376475]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Zioma,

У вас там явно вложенные begin tran (что, скорее всего, ошибочно) - см. значение trancount в графе.
12 мар 15, 16:35    [17376544]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34659
Zioma,

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

не обобщай .
разбирай и устраняй каждый случай отдельно.
12 мар 15, 16:37    [17376561]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
Zioma
Нет, Lock:Escalation не проявилось


хм, и что граф deadlock'ов такой же? давайте сюда несколько примеров.

churupaha
(из приложения вызывается begin tran) но в случаях deadlock'ов такого не нашел.


плохо/не там ищите. как искали?
12 мар 15, 17:01    [17376765]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
invm
Zioma,

У вас там явно вложенные begin tran (что, скорее всего, ошибочно) - см. значение trancount в графе.

Просмотрел все deadlock-и - везде trancount = 2.
В некоторых случаях участвует запрос (UPDATE) из процедуры, которая вызывается джобом. В ней нет begin tran (правда есть rollback).
Может trancount - количество участвующих в графе транзакций?

MasterZiv
не обобщай .
разбирай и устраняй каждый случай отдельно.

Ну все случаи крутятся возле одной лишь таблицы и проявляются, грубо, в десятке случаев, и проявления начались одновременно - как тут не обобщать ...
12 мар 15, 17:08    [17376811]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Zioma
Может trancount - количество участвующих в графе транзакций?
Нет. Это, как и положено, значение @@trancount на момент дедлока.
12 мар 15, 17:23    [17376928]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
churupaha
Zioma
Нет, Lock:Escalation не проявилось


хм, и что граф deadlock'ов такой же? давайте сюда несколько примеров.

churupaha
(из приложения вызывается begin tran) но в случаях deadlock'ов такого не нашел.


плохо/не там ищите. как искали?


Пример раз:
+
<deadlock>
<victim-list>
<victimProcess id="process293dd28108" />
</victim-list>
<process-list>
<process id="process293dd28108" taskpriority="0" logused="0" waitresource="OBJECT: 7:6499302:0 " waittime="5000" ownerId="75388350" transactionname="INSERT" lasttranstarted="2015-03-12T15:12:30.330" XDES="0x524ccaa20" lockMode="X" schedulerid="1" kpid="38548" status="suspended" spid="95" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-03-12T15:12:30.330" lastbatchcompleted="2015-03-12T15:12:30.323" lastattention="2015-03-12T13:32:11.050" clientapp="BUHGALT" hostname="sssssss" hostpid="788" loginname="smikoluk" isolationlevel="read uncommitted (1)" xactid="75388350" currentdb="7" lockTimeout="100000" clientoption1="671090736" clientoption2="128016">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="614" stmtend="1422" sqlhandle="0x02000000774fd832f592d0cf6d1f51c6706cb9c6240777210000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
(@P1 tinyint,@P2 datetime,@P3 int,@P4 smallint,@P5 varchar(10),@P6 int,@P7 int,@P8 char(8),@P9 varchar(10),@P10 int,@P11 int,@P12 char(8),@P13 numeric(18,2),@P14 varchar(5),@P15 numeric(18,8),@P16 numeric(18,2),@P17 varchar(100),@P18 numeric(18,2),@P19 datetime,@P20 smallint,@P21 varchar(15),@P22 datetime)INSERT INTO "dbo"."PROVODKA" ("SID" ,"DateOp" ,"Nop" ,"CodeZatr" ,"DebCountNo" ,"DebDK_KOD" ,"DebContrNo" ,"DebDeptNo" ,"KredCountNo" ,"KredDK_KOD" ,"KredContrNo" ,"KredDeptNo" ,"S" ,"ValCode" ,"Kurs" ,"Sval" ,"SO" ,"Norma" ,"DateEdit" ,"CodeUser" ,"NameUser" ,"KursDate" ) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21, @P22) </inputbuf>
</process>
<process id="process29fc627468" taskpriority="0" logused="0" waitresource="OBJECT: 7:6499302:0 " waittime="4946" ownerId="75388354" transactionname="UPDATE" lasttranstarted="2015-03-12T15:12:30.373" XDES="0x5012b8d80" lockMode="X" schedulerid="1" kpid="42808" status="suspended" spid="304" sbid="1" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-03-12T15:12:26.150" lastbatchcompleted="2015-03-12T15:12:26.147" lastattention="2015-03-12T15:11:53.927" clientapp="Microsoft SQL Server" hostname="zzzzzz" hostpid="10156" loginname="Link" isolationlevel="read committed (2)" xactid="75388354" currentdb="7" lockTimeout="4294967295" clientoption1="671219744" clientoption2="128056">
<executionStack>
<frame procname="Account.dbo.UPD_PROVODKA_" line="37" stmtstart="1954" stmtend="2916" sqlhandle="0x03000700dae3631969e7b20058a4000001000000000000000000000000000000000000000000000000000000">
update p
set
KredDeptNo = @DeptNo
,KredContrNo = @Dog_No
,KredDK_KOD = @DK_KOD
,DebDeptNo = @DeptNo_First
,DebContrNo = @DOG_NO_First
,DebDK_KOD = @DK_KOD_First
from dbo.provodka p (nolock)
where KredDeptNo is null
and KredContrNo is null
and KredDK_KOD is null
and so = @so
and ((DebCountNo = '6302104101' and KredCountNo = '8'))
and UserRec in ('dbo','dbo_','dbo_pro') and nameuser = 'auto'
--and nop <> @NOP --and dateop <> @DateOp
option (maxdop 1 </frame>
</executionStack>
<inputbuf>
Proc [Database Id = 7 Object Id = 425976794] </inputbuf>
</process>
</process-list>
<resource-list>
<objectlock lockPartition="0" objid="6499302" subresource="FULL" dbid="7" objectname="Account.dbo.PROVODKA" id="lock2b15d64e80" mode="IX" associatedObjectId="6499302">
<owner-list>
<owner id="process29fc627468" mode="IX" />
<owner id="process29fc627468" mode="X" requestType="convert" />
</owner-list>
<waiter-list>
<waiter id="process293dd28108" mode="X" requestType="convert" />
</waiter-list>
</objectlock>
<objectlock lockPartition="0" objid="6499302" subresource="FULL" dbid="7" objectname="Account.dbo.PROVODKA" id="lock2b15d64e80" mode="IX" associatedObjectId="6499302">
<owner-list>
<owner id="process293dd28108" mode="IX" />
<owner id="process293dd28108" mode="X" requestType="convert" />
</owner-list>
<waiter-list>
<waiter id="process29fc627468" mode="X" requestType="convert" />
</waiter-list>
</objectlock>
</resource-list>
</deadlock>


Пример два:
+
<deadlock>
<victim-list>
<victimProcess id="process50a13aca8" />
</victim-list>
<process-list>
<process id="process50a13aca8" taskpriority="0" logused="0" waitresource="OBJECT: 7:6499302:0 " waittime="1490" ownerId="46815918" transactionname="UPDATE" lasttranstarted="2015-03-12T13:31:34.970" XDES="0x524cec570" lockMode="X" schedulerid="8" kpid="46576" status="suspended" spid="258" sbid="1" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-03-12T13:31:34.970" lastbatchcompleted="2015-03-12T13:31:34.970" lastattention="2015-03-12T13:31:33.247" clientapp="Microsoft SQL Server" hostname="zzzzzzzz" hostpid="10156" loginname="Link" isolationlevel="read committed (2)" xactid="46815918" currentdb="7" lockTimeout="4294967295" clientoption1="671219744" clientoption2="128056">
<executionStack>
<frame procname="Account.dbo.UPD_PROVODKA_" line="21" stmtstart="1072" stmtend="1928" sqlhandle="0x03000700dae3631969e7b20058a4000001000000000000000000000000000000000000000000000000000000">
update p
set
KredDK_KOD = @DK_KOD
,DebDeptNo = @DeptNo_First
,DebContrNo = @DOG_NO_First
,DebDK_KOD = @DK_KOD_First
from dbo.provodka p (nolock)
where DebDeptNo is null
and DebContrNo is null
and DebDK_KOD is null
and so = @so
and ((DebCountNo = '8' and KredCountNo = '6302104101'))
and UserRec in ('dbo','dbo_','dbo_pro') and nameuser = 'auto'
--and nop <> @NOP --and dateop <> @DateOp
option (maxdop 1 </frame>
</executionStack>
<inputbuf>
Proc [Database Id = 7 Object Id = 425976794] </inputbuf>
</process>
<process id="process527041468" taskpriority="0" logused="0" waitresource="OBJECT: 7:6499302:0 " waittime="1491" ownerId="46815931" transactionname="INSERT" lasttranstarted="2015-03-12T13:31:35.233" XDES="0x524ce2570" lockMode="X" schedulerid="6" kpid="45936" status="suspended" spid="108" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-03-12T13:31:35.233" lastbatchcompleted="2015-03-12T13:31:35.230" lastattention="1900-01-01T00:00:00.230" clientapp="BUHGALT" hostname="wwwww" hostpid="3908" loginname="rasimchuk" isolationlevel="read uncommitted (1)" xactid="46815931" currentdb="7" lockTimeout="100000" clientoption1="671090736" clientoption2="128016">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="678" stmtend="1578" sqlhandle="0x0200000083a6a019dbeb464283e6e61e5ed90a1b409960c50000000000000000000000000000000000000000">
unknown </frame>
<frame procname="unknown" line="1" sqlhandle="0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000">
unknown </frame>
</executionStack>
<inputbuf>
(@P1 tinyint,@P2 datetime,@P3 int,@P4 smallint,@P5 smallint,@P6 int,@P7 varchar(10),@P8 int,@P9 int,@P10 char(8),@P11 varchar(10),@P12 int,@P13 char(8),@P14 numeric(18,2),@P15 varchar(5),@P16 numeric(18,8),@P17 numeric(18,2),@P18 varchar(100),@P19 numeric(18,2),@P20 int,@P21 int,@P22 datetime,@P23 smallint,@P24 varchar(15),@P25 datetime)INSERT INTO "dbo"."PROVODKA" ("SID" ,"DateOp" ,"Nop" ,"CodeZatr" ,"TypeNo" ,"XozNo" ,"DebCountNo" ,"DebDK_KOD" ,"DebContrNo" ,"DebDeptNo" ,"KredCountNo" ,"KredContrNo" ,"KredDeptNo" ,"S" ,"ValCode" ,"Kurs" ,"Sval" ,"SO" ,"Norma" ,"DeclarID" ,"ExpItem" ,"DateEdit" ,"CodeUser" ,"NameUser" ,"KursDate" ) VALUES (@P1, @P2, @P3, @P4, @P5, @P6, @P7, @P8, @P9, @P10, @P11, @P12, @P13, @P14, @P15, @P16, @P17, @P18, @P19, @P20, @P21, @P22, @P23, @P24, @P25) </inputbuf>
</process>
</process-list>
<resource-list>
<objectlock lockPartition="0" objid="6499302" subresource="FULL" dbid="7" objectname="Account.dbo.PROVODKA" id="lock21a4102980" mode="IX" associatedObjectId="6499302">
<owner-list>
<owner id="process527041468" mode="IX" />
<owner id="process527041468" mode="X" requestType="convert" />
</owner-list>
<waiter-list>
<waiter id="process50a13aca8" mode="X" requestType="convert" />
</waiter-list>
</objectlock>
<objectlock lockPartition="0" objid="6499302" subresource="FULL" dbid="7" objectname="Account.dbo.PROVODKA" id="lock21a4102980" mode="IX" associatedObjectId="6499302">
<owner-list>
<owner id="process50a13aca8" mode="IX" />
<owner id="process50a13aca8" mode="X" requestType="convert" />
</owner-list>
<waiter-list>
<waiter id="process527041468" mode="X" requestType="convert" />
</waiter-list>
</objectlock>
</resource-list>
</deadlock>


Транзакции искал в логе трейсера.
Единственное, что в этих примерах один из процесов запускается с другого сервера (пользователь Link) - а это уже транзакция ...
12 мар 15, 18:08    [17377240]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
хех, сори что ввел в заблуждение по поводу версии с эскалацией блокировок

https://msdn.microsoft.com/en-us/library/ms184286.aspx
If locks cannot be escalated because of lock conflicts, the Database Engine periodically triggers lock escalation at every 1,250 new locks acquired.
13 мар 15, 00:03    [17378394]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
Вчера начали проявляться deadlock и на других таблицах :(
Думаю, что проблема глобальная и должна лечиться глобальными настройками ...
13 мар 15, 11:09    [17379395]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
Zioma
Думаю, что проблема глобальная и должна лечиться глобальными настройками ...

достаточно сделать:
set deadlock off 


и всё! никаких дедлоков...

а ещё, когда всё тормозит на сервере, мы используем настройку:

set turbo on
13 мар 15, 11:18    [17379443]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8316
Zioma, у вас там триггеры, что ли?
13 мар 15, 12:33    [17379955]     Ответить | Цитировать Сообщить модератору
 Re: Резкое увеличение deadlock'ов  [new]
Zioma
Member

Откуда: Украина, Киев
Сообщений: 361
Владислав Колосов
Zioma, у вас там триггеры, что ли?


Да, триггеры есть.
13 мар 15, 13:27    [17380332]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить