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

Откуда: Вологда
Сообщений: 190
Здравствуйте!

В базе очень много дедлоков:
Картинка с другого сайта.

Вот содержимое:

Deadlock graph	322498801	1	sa	0X01	21	SQLCLUSTER\SEC		2014-04-30 09:22:07.997	<deadlock-list>
 <deadlock victim="processf83438">
  <process-list>
   <process id="processf83438" taskpriority="0" logused="548" waitresource="PAGE: 6:1:23819231" waittime="1419" ownerId="2186078345" transactionname="user_transaction" lasttranstarted="2014-04-30T09:21:53.247" XDES="0x80045470" lockMode="S" schedulerid="7" kpid="5900" status="suspended" spid="390" sbid="0" ecid="0" priority="0" transcount="1" lastbatchstarted="2014-04-30T09:22:06.523" lastbatchcompleted="2014-04-30T09:22:06.520" clientapp="1CV82 Server" hostname="APSRV_C" hostpid="8652" loginname="sa" isolationlevel="read committed (2)" xactid="2186078345" currentdb="6" lockTimeout="20000" clientoption1="671219744" clientoption2="128056">
    <executionStack>
     <frame procname="adhoc" line="1" stmtstart="1066" sqlhandle="0x0200000033f12b3130961323c0b6db0cc6e024f16e11700b">
SELECT
CASE WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x0000119D THEN T7._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000064 THEN T8._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x000006C4 THEN T9._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D61 THEN T10._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000071 THEN T11._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C5D THEN T12._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x0000006D THEN T13._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D70 THEN T14._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C0D THEN T15._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000ECA THEN T16._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D9B THEN T17._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x0000126B THEN T18._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND     </frame>
     <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000">
unknown     </frame>
    </executionStack>
    <inputbuf>
(@P1 datetime,@P2 varbinary(16),@P3 varbinary(16),@P4 numeric(10),@P5 numeric(10),@P6 datetime,@P7 datetime,@P8 varbinary(16),@P9 varbinary(16),@P10 numeric(10),@P11 numeric(10),@P12 numeric(10),@P13 numeric(10),@P14 numeric(10),@P15 numeric(10),@P16 varbinary(4),@P17 varbinary(4),@P18 varbinary(4),@P19 varbinary(4),@P20 varbinary(4),@P21 varbinary(4),@P22 varbinary(4),@P23 varbinary(4),@P24 varbinary(4),@P25 varbinary(4),@P26 varbinary(4),@P27 varbinary(4),@P28 varbinary(4),@P29 varbinary(4),@P30 varbinary(4),@P31 numeric(10))SELECT
CASE WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x0000119D THEN T7._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000064 THEN T8._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x000006C4 THEN T9._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D61 THEN T10._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000071 THEN T11._Date_Time WHEN T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C5D THEN T12.    </inputbuf>
   </process>
   <process id="process9ffd9b978" taskpriority="0" logused="1376" waitresource="KEY: 6:72057597453598720 (7f0122d9637d)" waittime="5491" ownerId="2186089136" transactionname="user_transaction" lasttranstarted="2014-04-30T09:21:59.903" XDES="0x6550c3710" lockMode="S" schedulerid="5" kpid="2040" status="suspended" spid="103" sbid="0" ecid="0" priority="0" transcount="1" lastbatchstarted="2014-04-30T09:22:02.473" lastbatchcompleted="2014-04-30T09:22:02.463" clientapp="1CV82 Server" hostname="APSRV_C" hostpid="4656" loginname="sa" isolationlevel="read committed (2)" xactid="2186089136" currentdb="6" lockTimeout="20000" clientoption1="671219744" clientoption2="128056">
    <executionStack>
     <frame procname="adhoc" line="1" stmtstart="1066" sqlhandle="0x020000007f8b730f9bce2cfeeddfff2de642796b2bcd8281">
SELECT
CASE WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000071) THEN T5._Fld1085 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000064) THEN T6._Fld942 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x0000006D) THEN T7._Fld2141 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D61) THEN T8._Fld3503 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D9B) THEN T9._Fld3504 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C79) THEN T10._Fld3588 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000ECA) THEN T11._Fld3821 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D71) THEN T12._Fld3455 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D70) THEN T13._Fld3447 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C0D) THEN T14._Fld3423 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C5D) THEN DATEADD(DAY,1.0 - 1,DATEADD(MONTH,CAST(DATEPART(MONTH,T15._Date_Time) AS NUMERIC(4)) - 1,DATEADD(YEAR,(CAST(DATEPART(YEAR,T15._Da     </frame>
     <frame procname="unknown" line="1" sqlhandle="0x000000000000000000000000000000000000000000000000">
unknown     </frame>
    </executionStack>
    <inputbuf>
(@P1 datetime,@P2 varbinary(16),@P3 varbinary(16),@P4 numeric(10),@P5 numeric(10),@P6 datetime,@P7 datetime,@P8 varbinary(16),@P9 varbinary(16),@P10 numeric(10),@P11 numeric(10),@P12 numeric(10),@P13 numeric(10),@P14 numeric(10),@P15 numeric(10),@P16 varbinary(4),@P17 varbinary(4),@P18 varbinary(4),@P19 varbinary(4),@P20 varbinary(4),@P21 varbinary(4),@P22 varbinary(4),@P23 varbinary(4),@P24 varbinary(4),@P25 varbinary(4),@P26 varbinary(4),@P27 varbinary(4),@P28 varbinary(4),@P29 varbinary(4),@P30 varbinary(4),@P31 numeric(10))SELECT
CASE WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000071) THEN T5._Fld1085 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000064) THEN T6._Fld942 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x0000006D) THEN T7._Fld2141 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D61) THEN T8._Fld3503 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000D9B) THEN T9._Fld3504 WHEN (T1.Fld2866_TYPE = 0x08 AND T1.Fld2866_RTRef = 0x00000C79) THEN T10._    </inputbuf>
   </process>
  </process-list>
  <resource-list>
   <keylock hobtid="72057597453598720" dbid="6" objectname="ComResurs.dbo._Document3786" indexname="PK___Document3786NG__24B338F0" id="lockbbb90a580" mode="X" associatedObjectId="72057597453598720">
    <owner-list>
     <owner id="processf83438" mode="X"/>
    </owner-list>
    <waiter-list>
     <waiter id="process9ffd9b978" mode="S" requestType="wait"/>
    </waiter-list>
   </keylock>
   <pagelock fileid="1" pageid="23819231" dbid="6" objectname="ComResurs.dbo._Document3425" id="lockc290c1400" mode="IX" associatedObjectId="72057597496328192">
    <owner-list>
     <owner id="process9ffd9b978" mode="IX"/>
    </owner-list>
    <waiter-list>
     <waiter id="processf83438" mode="S" requestType="wait"/>
    </waiter-list>
   </pagelock>
  </resource-list>
 </deadlock>
</deadlock-list>


Помогите пожалуйста разобраться с проблемой.
Спасибо.
6 май 14, 11:27    [15978239]     Ответить | Цитировать Сообщить модератору
 Re: Помогите разобраться с взаимоблокировками 1С  [new]
erp20
Member

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

отличная статья - http://kb.1c.ru/articleView.jsp?id=46
после ее прочтения устранение взаимоблокировок проходит как по маслу
6 май 14, 12:29    [15978887]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить