데드락에 관한 질문입니다.

kosaja 2014.05.26 12:11 Views : 4333

안녕하세요.

운영중인 서버에 '교착상태'관련 에러가 자주 떠서 dbcc traceon(1204,-1)을 사용하여, 해당 로그를 캡처하였습니다.


일단 다음의 결과를 보긴 했는데, 저것이 무엇을 의미하는지 정확히 알기 힘들어서 질문글 올립니다.

관련 지식이 있으신분의 도움 부탁들립니다.


다음의 해당 로그의 내용입니다.


좀길긴한데, 쿼리관련 내용은 하단쪽에 있습니다.

하단에 보면 따로 주석달아놓긴 했는데, select ~~ update쿼리문이 로그에 잡히긴 합니다. 

해당 쿼리에 문제가 있다는 내용인걸까요?..(서버실에 방문해서 해당 테이블의 인덱스등을 살펴볼 예정이긴 합니다.)


하단의 쿼리문제는 제쳐두고, 다른 인터넷 글들을 검색해보면 바로바로 쿼리가 로그에 찍히는거 같던데. 저같은 경우는 다음처럼,

로그가 쭉 찍히고 나서 상당히 뒤에 쿼리관련 로그가 나오는데요.

윗줄에 찍히는 내용들이 무엇을 의미하는지 알고 싶습니다.

하단에 나오는 쿼리관련 로그도 좀 자세한 설명을 알고싶기도 하고요...


질문이 장황한데... 충고말씀 부탁드립니다.


spid6s Deadlock encountered .... Printing deadlock information <--재앙이 시작됬다는거 같습니다. 서버에 쌓이는 교착상태관                 련    에러메세지의 시간과도 거의 일치합니다.

spid6s Wait-for graph

spid6s NULL

spid6s Node:1  

spid6s PAGE: 7:1:119807               CleanCnt:3 Mode:U Flags: 0x3

spid6s Grant List 1:

spid6s   Owner:0x0000000123E48980 Mode: U        Flg:0x40 Ref:0 Life:00000001 SPID:68 ECID:0 XactLockInfo: 0x0000000119C14B90

spid6s   SPID: 68 ECID: 0 Statement Type: UPDATE Line #: 12

spid6s   Input Buf: RPC Event: Proc [Database Id = 7 Object Id = 1670297010]

spid6s Requested by: 

spid6s  ResType:LockOwner Stype:'OR'Xdes:0x00000000805C7400 Mode: U SPID:76 BatchID:0 ECID:8 TaskProxy:(0x00000001AEEE3AE0) Value:0x149b6c40 Cost:(0/0)

spid6s NULL

spid6s Node:2  

spid6s PAGE: 7:1:119807               CleanCnt:3 Mode:U Flags: 0x3

spid6s Wait List:

spid6s   Owner:0x00000001149B6C40 Mode: U        Flg:0x42 Ref:1 Life:00000001 SPID:76 ECID:8 XactLockInfo: 0x00000000805C7440

spid6s   SPID: 76 ECID: 8 Statement Type: UPDATE Line #: 12

spid6s   Input Buf: No Event: 

spid6s Requested by: 

spid6s  ResType:LockOwner Stype:'OR'Xdes:0x00000000BD135130 Mode: U SPID:76 BatchID:0 ECID:1 TaskProxy:(0x00000001AEEE3840) Value:0x23850f80 Cost:(0/0)

spid6s NULL

spid6s Node:3  

spid6s PAGE: 7:1:119784               CleanCnt:2 Mode:U Flags: 0x3

spid6s Grant List 3:

spid6s   Owner:0x0000000115725F80 Mode: U        Flg:0x40 Ref:0 Life:00000001 SPID:76 ECID:1 XactLockInfo: 0x00000000BD135170

spid6s   SPID: 76 ECID: 1 Statement Type: UPDATE Line #: 12

spid6s   Input Buf: No Event: 

spid6s Requested by: 

spid6s  ResType:LockOwner Stype:'OR'Xdes:0x000000008001FA50 Mode: U SPID:68 BatchID:0 ECID:3 TaskProxy:(0x000000013D185700) Value:0x88cfeac0 Cost:(0/304)

spid6s NULL

spid6s Node:4  

spid6s Port: 0x00000001B0766700  Xid Slot: 0, Wait Slot: -1, Task: 0x00000000008BF288, (Coordinator), Exchange Wait Type: e_waitPipeGetRow, Merging: 0

spid6s ResType:ExchangeId Stype:'AND' SPID:68 BatchID:0 ECID:0 TaskProxy:(0x0000000188EBA510) Value:0x8bf288 Cost:(0/10000)

spid6s NULL

spid6s Victim Resource Owner:

spid6s ResType:LockOwner Stype:'OR'Xdes:0x00000000805C7400 Mode: U SPID:76 BatchID:0 ECID:8 TaskProxy:(0x00000001AEEE3AE0) Value:0x149b6c40 Cost:(0/0)

spid6s Deadlock encountered .... Printing deadlock information

spid6s Wait-for graph

spid6s NULL

spid6s Node:1  

spid6s RID: 15:1:26556:14             CleanCnt:2 Mode:X Flags: 0x3

spid6s Grant List 3:

spid6s   Owner:0x00000000C3E66D40 Mode: X        Flg:0x40 Ref:0 Life:02000000 SPID:52 ECID:0 XactLockInfo: 0x00000001641B7990

spid6s   SPID: 52 ECID: 0 Statement Type: UPDATE Line #: 3

spid6s   Input Buf: Language Event:  if exists(SELECT * FROM test_tabl1   WHERE  Co_Code + Bs_Code + Gr1_Code + Gr2_Code + It_Code = '0102020001' AND  ResultDate = '20140318')   UPDATE test_tabl1      SET It_Paycnt = '0'    , It_Freecnt = '0'    , It_Money = '0'    , ModId = '김테스트'    , ModD  <--이 쿼리의 update에 문제가 있다는 얘기인가요?

spid6s Requested by: 

spid6s  ResType:LockOwner Stype:'OR'Xdes:0x00000000BD134CC0 Mode: U SPID:66 BatchID:0 ECID:0 TaskProxy:(0x000000016F05C538) Value:0x231d7d80 Cost:(0/188)

spid6s NULL

spid6s Node:2  

spid6s RID: 15:1:26528:59             CleanCnt:2 Mode:X Flags: 0x3

spid6s Grant List 3:

spid6s   Owner:0x00000000C41DBBC0 Mode: X        Flg:0x40 Ref:0 Life:02000000 SPID:66 ECID:0 XactLockInfo: 0x00000000BD134D00

spid6s   SPID: 66 ECID: 0 Statement Type: UPDATE Line #: 3

spid6s   Input Buf: Language Event:  if exists(SELECT * FROM test_tabl1      WHERE  Co_Code + Bs_Code + Gr1_Code + Gr2_Code + It_Code = '0106010401' AND  ResultDate = '20130110')   UPDATE test_tabl1      SET It_Paycnt = '0'    , It_Freecnt = '0'    , It_Money = '0'    , ModId = '테스트'    , ModD

spid6s Requested by: 

spid6s  ResType:LockOwner Stype:'OR'Xdes:0x00000001641B7950 Mode: U SPID:52 BatchID:0 ECID:0 TaskProxy:(0x0000000116A2C538) Value:0xcd7b1240 Cost:(0/1060)

spid6s NULL

spid6s Victim Resource Owner:

spid6s ResType:LockOwner Stype:'OR'Xdes:0x00000000BD134CC0 Mode: U SPID:66 BatchID:0 ECID:0 TaskProxy:(0x000000016F05C538) Value:0x231d7d80 Cost:(0/188)

spid6s Deadlock encountered .... Printing deadlock information

spid6s Wait-for graph

spid6s NULL

spid6s Node:1  

spid6s RID: 15:1:26494:46             CleanCnt:2 Mode:X Flags: 0x3

spid6s Grant List 3:

spid6s   Owner:0x00000000CEB95A40 Mode: X        Flg:0x40 Ref:0 Life:02000000 SPID:74 ECID:0 XactLockInfo: 0x00000001641B7990

spid6s   SPID: 74 ECID: 0 Statement Type: DELETE Line #: 1

spid6s   Input Buf: Language Event: (@Param1 nvarchar(2),@Param2 nvarchar(2),@Param3 nvarchar(2),@Param4 nvarchar(2),@Param5 nvarchar(2),@Param6 money,@Param7 money,@Param8 money,@Param9 nvarchar(9),@Param10 nvarchar(8),@Param11 nvarchar(1))DELETE FROM test_tabl1    WHERE (Co_Code = @Param

spid6s Requested by: 

spid6s  ResType:LockOwner Stype:'OR'Xdes:0x00000000A89CEE80 Mode: U SPID:62 BatchID:0 ECID:0 TaskProxy:(0x00000001B23C8538) Value:0xbed82e40 Cost:(0/188)

spid6s NULL

spid6s Node:2  

spid6s RID: 15:1:26146:65             CleanCnt:2 Mode:X Flags: 0x3

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36277
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18885
7883 dbo 소유자명 질문입니다. sams 2014.05.27 2941
7882 SSMS는 Express 버전 말고 어떤 버전이 존재하나요? [2] 내인생에GG란없다 2014.05.27 3086
7881 최근에~ SQL 엔진 시작안되는 경우!!! 파파곰 2014.05.26 9039
7880 MS SqlServer 2005_Express를 무인설치 할 수 있나요?? [2] 아더왕 2014.05.26 3143
» 데드락에 관한 질문입니다. [6] kosaja 2014.05.26 4333
7878 마지막 입력 데이터를 월별로 구분하고 싶습니다 [2] 병구 2014.05.26 2279
7877 파일 그룹 관련 질문 드립니다. [2] 수노 2014.05.26 2311
7876 SP1 -> SP2 업데이트 시 오류입니다. AuRa노송 2014.05.26 2749
7875 mssql 2000 사용자 저장 프로시저 목록 확인할 방법 없을 까요 ? [3] 자비드 2014.05.25 4072
7874 디비 복원 질문드립니다. [6] 철쑤 2014.05.22 11114
7873 sp작성 쿼리 질문 드립니다. [3] sams 2014.05.22 3016
7872 가용시간 계산 [2] taz2315 2014.05.22 3178
7871 primary key를 포함한 테이블의 데이터를 복사하는 방법. [1] 변자 2014.05.22 3312
7870 DB 커넥션 시간제한이 얼마인가요? [1] 파파곰 2014.05.21 3483
7869 특정 테이블 내의 각 컬럼별 용량을 확인하는 쿼리가 있을까요? [1] 뇽이 2014.05.21 2702
7868 sql 2000의 text컬럼에서 이미지 태그의 파일명.확장자 모두 가져오기 [4] Larry 2014.05.21 3905
7867 Compare check(or Unmatched Check) SQL로 돌리는 방법 성난파도 2014.05.20 2118
7866 오라클 연결시 한글 깨짐 현상 뽀지티브 2014.05.19 6375
7865 KILLED/ROLLBACK status, Estimated rollback completion: 0%. [5] 최강문일 2014.05.19 6540
7864 이기종 DB 서버 연결(MySQL) [2] 친구 2014.05.19 4533





XE Login