다음을 통해 공유


Lock:Deadlock 이벤트 클래스

Lock:Deadlock 이벤트 클래스는 잠금을 얻으려고 시도하는 동안 교착 상태가 발생하여 이 시도가 취소될 때 생성됩니다.

Lock:Deadlock 이벤트 클래스를 사용하여 교착 상태 발생 시기와 관련된 개체를 모니터링할 수 있습니다. 이 정보를 사용하면 교착 상태로 인해 애플리케이션 성능이 심하게 저하되는지 여부를 확인할 수 있습니다. 그러면 애플리케이션 코드를 조사하여 교착 상태를 최소화하도록 변경할 수 있는지 알 수 있습니다.

Lock:Deadlock 이벤트 클래스 데이터 열

데이터 열 이름 데이터 형식 Description 열 ID 필터 가능
ApplicationName nvarchar SQL Server인스턴스에 연결한 클라이언트 애플리케이션의 이름입니다. 이 열은 프로그램의 표시 이름이 아니라 애플리케이션에서 전달한 값으로 채워집니다. 10
BinaryData image 잠금 리소스 식별자입니다. 2
ClientProcessID int 클라이언트 애플리케이션이 실행 중인 프로세스에 대해 호스트 컴퓨터가 할당한 ID입니다. 클라이언트가 클라이언트 프로세스 ID를 제공하면 이 데이터 열이 채워집니다. 9
DatabaseID int 잠금을 획득한 데이터베이스의 ID입니다. SQL Server Profiler 에 ServerName 데이터 열이 추적에서 캡처되고 서버를 사용할 수 있으면 데이터베이스 이름이 표시됩니다. DB_ID 함수를 사용하여 데이터베이스의 값을 확인할 수 있습니다. 3
DatabaseName nvarchar 잠금을 얻은 데이터베이스 이름입니다. 35
Duration bigint 잠금 요청이 발생한 시간과 교착 상태가 발생한 시간 사이의 간격(마이크로초)입니다. 13
EndTime datetime 교착 상태가 끝난 시간입니다. 15
EventClass int 이벤트 유형 = 25 27
EventSequence int 요청 내의 지정된 이벤트 시퀀스입니다. 51
GroupID int SQL 추적 이벤트가 발생한 작업 그룹의 ID입니다. 66
HostName nvarchar 클라이언트를 실행 중인 컴퓨터 이름입니다. 클라이언트가 호스트 이름을 제공할 경우 이 데이터 열이 채워집니다. 호스트 이름을 확인하려면 HOST_NAME 함수를 사용합니다. 8
IntegerData int 교착 상태 번호입니다. 서버가 시작되면 번호가 0부터 시작되어 교착 상태마다 증가합니다. 25
IntegerData2 int 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨 향후 호환성은 보장되지 않습니다. 55
IsSystem int 이벤트가 시스템 프로세스에서 발생했는지 아니면 사용자 프로세스에서 발생했는지를 나타냅니다. 1 = 시스템, 0 = 사용자 60
LoginName nvarchar 사용자 로그인 이름이며 DOMAIN\username 형식의 SQL Server Windows 로그인 자격 증명 또는 Microsoft 보안 로그인입니다. 11
LoginSid image 로그인한 사용자의 SID(보안 ID)입니다. 이 정보는 sys.server_principals 카탈로그 뷰에 있습니다. 각 SID는 서버의 각 로그인마다 고유합니다. 41
Mode 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
NTDomainName nvarchar 사용자가 속한 Windows 도메인입니다. 7
NTUserName nvarchar Windows 사용자 이름입니다. 6
ObjectID int 연결에 포함된 개체 ID입니다(사용 및 적용 가능한 경우). 22
ObjectID2 bigint 관련 개체 또는 엔터티의 ID입니다(사용 및 적용 가능한 경우). 56
OwnerID int 1=TRANSACTION

2=CURSOR

3=SESSION

4=SHARED_TRANSACTION_WORKSPACE

5=EXCLUSIVE_TRANSACTION_WORKSPACE
58
RequestID int 문을 포함하는 요청의 ID입니다. 49
ServerName nvarchar 추적 중인 SQL Server 인스턴스의 이름입니다. 26
SessionLoginName nvarchar 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server 에 연결하고 Login2로 문을 실행할 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열은 SQL Server 및 Windows 로그인을 모두 표시합니다. 64
SPID int 이벤트가 발생한 세션의 ID입니다. 12
StartTime datetime 사용 가능한 경우 이벤트가 시작된 시간입니다. 14
TextData ntext 획득한 잠금 유형에 따라 달라지는 텍스트 값입니다. 1
TransactionID bigint 시스템이 할당한 트랜잭션의 ID입니다. 4
Type int 1=NULL_RESOURCE

2=DATABASE

3=FILE

5=OBJECT

6=PAGE

7=KEY

8=EXTENT

9=RID

10=APPLICATION

11=METADATA

12=AUTONAMEDB

13=HOBT

14=ALLOCATION_UNIT
57

참고 항목

sp_trace_setevent(Transact-SQL)
sys.dm_tran_locks (Transact-SQL)