Lock:Deadlock Chain 이벤트 클래스는 교착 상태의 각 참가자에 대해 생성됩니다.
Lock:Deadlock Chain 이벤트 클래스를 사용하여 교착 상태 조건이 발생하는 시기를 모니터링합니다. 이 정보는 교착 상태가 애플리케이션의 성능에 크게 영향을 미치는지, 어떤 개체가 관련되어 있는지 확인하는 데 유용합니다. 이러한 개체를 수정하는 애플리케이션 코드를 검사하여 교착 상태를 최소화하기 위해 변경할 수 있는지 확인할 수 있습니다.
Lock:Deadlock Chain 이벤트 클래스의 데이터 열
| 데이터 열 이름 | 데이터 형식 | 설명 | 열 ID | 필터 가능 |
|---|---|---|---|---|
| BinaryData | image |
리소스 식별자를 잠급 수 있습니다. | 2 | 예 |
| 데이터베이스ID | int |
이 리소스가 속한 데이터베이스의 ID입니다. SQL Server Profiler는 ServerName 데이터 열이 추적에 캡처되고 서버를 사용할 수 있는 경우 데이터베이스의 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. | 3 | 예 |
| 데이터베이스 이름 | nvarchar |
리소스가 속한 데이터베이스의 이름입니다. | 35 | 예 |
| EventClass | int |
이벤트 유형 = 59 | 27 | 아니오 |
| 이벤트 순서 | int |
요청 내에 지정된 이벤트 시퀀스입니다. | 51 | 아니오 |
| 이벤트 하위 클래스 | int |
이벤트 하위 클래스의 유형입니다. 101=리소스 종류 잠금 102=리소스 종류 교환 |
21 | 예 |
| 정수형 데이터 | int |
교착 상태 번호입니다. 서버가 시작될 때 숫자가 0부터 할당되고 교착 상태가 발생할 때마다 증가합니다. | 이십오 (25) | 예 |
| IntegerData2 | int |
정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다. | 55 | 예 |
| IsSystem | int |
시스템 프로세스 또는 사용자 프로세스에서 이벤트가 발생했는지 여부를 나타냅니다. 1 = 시스템, 0 = 사용자. | 60 (육십) | 예 |
| 로그인SID | image |
로그인한 사용자의 SID(보안 ID 번호)입니다. 이 정보는 sys.server_principals 카탈로그 뷰에 있습니다. 각 SID는 서버의 각 로그인에 대해 고유합니다. | 41 | 예 |
| 모드 | int |
0=NULL - 다른 모든 잠금 모드와 호환(LCK_M_NL) 1=스키마 안정성 잠금(LCK_M_SCH_S) 2=스키마 수정 잠금(LCK_M_SCH_M) 3=공유 잠금(LCK_M_S) 4=업데이트 잠금(LCK_M_U) 5=배타적 잠금(LCK_M_X) 6=의도 공유 잠금(LCK_M_IS) 7=의도 업데이트 잠금(LCK_M_IU) 8=의도의 배타적 잠금(LCK_M_IX) 9=업데이트할 의도로 공유(LCK_M_SIU) 10=의도 배타적 공유(LCK_M_SIX) 11=의도로 전용 업데이트(LCK_M_UIX) 12=대량 업데이트 잠금(LCK_M_BU) 13=키 범위 공유/공유(LCK_M_RS_S) 14=키 범위 공유/업데이트(LCK_M_RS_U) 15=키 범위 삽입 NULL(LCK_M_RI_NL) 16=공유 키 범위 삽입(LCK_M_RI_S) 17=키 범위 삽입 업데이트(LCK_M_RI_U) ** 18=키 범위 삽입 독점적(LCK_M_RI_X) 19=키 범위 전용 공유 (LCK_M_RX_S) 20=키 범위 배타적 업데이트(LCK_M_RX_U) 21=키 범위 배타적(LCK_M_RX_X) |
32 | 예 |
| 오브젝트 ID | int |
사용 가능하고 적용 가능한 경우 잠긴 개체의 ID입니다. | 22 (이십이) | 예 |
| ObjectID2 | bigint |
사용 가능하고 해당하는 경우 관련 개체 또는 엔터티의 ID입니다. | 56 | 예 |
| 소유자 ID | int |
1=TRANSACTION (거래) 2=커서 3=세션 4=공유_거래_작업공간 5=전용_거래_작업공간 |
58 | 예 |
| RequestID | int |
문을 포함하는 요청의 ID입니다. | 49 | 예 |
| 서버 이름 | nvarchar |
추적 중인 SQL Server 인스턴스의 이름입니다. | 26 | 아니오 |
| SessionLoginName | nvarchar |
세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Microsoft Windows 로그인이 모두 표시됩니다. | 64 | 예 |
| SPID | int |
이벤트가 발생한 세션의 ID입니다. | 12 | 예 |
| 시작 시간 | datetime |
이벤트가 시작된 시간(사용 가능한 경우)입니다. | 14 | 예 |
| 텍스트 데이터 | ntext |
리소스 종류에 따라 달라진 텍스트 값입니다. | 1 | 예 |
| TransactionID | bigint |
트랜잭션의 시스템 할당 ID입니다. | 4 | 예 |
| 유형 | int |
1=NULL_RESOURCE 2=데이터베이스 3=파일 5=객체 6=페이지 7=키 (Key) 8=범위 9=RID 10=애플리케이션 11=메타데이터 12=AUTONAMEDB 13=HOBT 14=ALLOCATION_UNIT |
57 | 예 |
또한 참조하십시오
sp_trace_setevent(Transact-SQL)
sys.dm_tran_locks(Transact-SQL)