2011. 10. 20. 14:49

데드락이 발생했을때의 원인.

데드락이 발생했을때 가장 좋은 추적 방법은 추적 플래그 1204 를 설정해주는것입니다.
쿼리분석기를 통해서 간단히 실행시킬수 있고 원인분석도 확실합니다.

dbcc traceon(1204, -1)

위같이 실행하면 아래와 같은 메세지와 함께 실행됬음을 표시합니다.

DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.

DB 서버 옵션에서 시작시마다 자동으로 실행되도록할수 있으며, 해당 플래그는 전역으로 영향을 미침니다.

추적플래그 설정이후 데드락이 발생하면 트레이스 결과가 DBMS 설치 경로의 밑 LOG 폴더에 ERRORLOG 파일에 기록됩니다.

예)
D:\Microsoft SQL Server\MSSQL\LOG
(D 드라이브에 설치되어 있어 위와 같이 나타나는겁니다.)

데드락이 발생한 시간, SPID, 데드락을 유발시킨 SQL 문 등의 원인 파악에 필요한 정보들이 기록되어 있습니다.

2008-08-17 19:31:31.83 spid4
Deadlock encountered .... Printing deadlock information
2008-08-17 19:31:31.83 spid4
2008-08-17 19:31:31.83 spid4 Wait-for graph
2008-08-17 19:31:31.83 spid4
2008-08-17 19:31:31.83 spid4 Node:1
2008-08-17 19:31:31.83 spid4 KEY: 7:1608392799:2 (02005a9fb1b0) CleanCnt:2 Mode: X Flags: 0x0
2008-08-17 19:31:31.83 spid4 Grant List 0::
2008-08-17 19:31:31.83 spid4 Owner:0x2825f6e0 Mode: X Flg:0x0 Ref:0 Life:02000000 SPID:53 ECID:0
2008-08-17 19:31:31.83 spid4 SPID: 53 ECID: 0 Statement Type: UPDATE Line #: 1
2008-08-17 19:31:31.83 spid4 Input Buf: Language Event: UPDATE UPDATE_TAB
SET MANAGE = 0
WHERE MANAGE = 1

2008-08-17 19:31:31.83 spid4 Requested By:
2008-08-17 19:31:31.83 spid4 ResType:LockOwner Stype:'OR' Mode: U SPID:52 ECID:0 Ec:(0x295CF520) Value:0x28221de0 Cost:(0/2FC)
2008-08-17 19:31:31.84 spid4
2008-08-17 19:31:31.84 spid4 Node:2
2008-08-17 19:31:31.84 spid4 PAG: 7:1:5647 CleanCnt:2 Mode: X Flags: 0x2
2008-08-17 19:31:31.84 spid4 Grant List 0::
2008-08-17 19:31:31.84 spid4 Owner:0x282202e0 Mode: X Flg:0x0 Ref:1 Life:02000000 SPID:52 ECID:0
2008-08-17 19:31:31.84 spid4 SPID: 52 ECID: 0 Statement Type: UPDATE Line #: 1
2008-08-17 19:31:31.84 spid4 Input Buf: Language Event: UPDATE TEST_TAB
SET MANAGE = 0
WHERE MANAGE = 1

2008-08-17 19:31:31.84 spid4 Requested By:
2008-08-17 19:31:31.84 spid4 ResType:LockOwner Stype:'OR' Mode: U SPID:53 ECID:0 Ec:(0x292E5520) Value:0x2824b380 Cost:(0/18C4)
2008-08-17 19:31:31.84 spid4 Victim Resource Owner:
2008-08-17 19:31:31.84 spid4 ResType:LockOwner Stype:'OR' Mode: U SPID:52 ECID:0 Ec:(0x295CF520) Value:0x28221de0 Cost:(0/2FC)

인용 :  http://kuaaan.tistory.com