Lock:Acquired 이벤트 클래스
적용 대상: SQL Server
Lock:Acquiredevent 클래스는 데이터 페이지와 같은 리소스에 대한 잠금 획득이 이루어졌음을 나타냅니다.
Lock:Acquired and Lock:Released 이벤트 클래스를 사용하여 개체가 잠겨 있는 시기, 잠금 유형 및 잠금이 보존된 기간을 모니터링할 수 있습니다. 오랜 시간 동안 유지된 잠금은 경합 문제를 일으킬 수 있으며 조사해야 합니다. 예를 들어 애플리케이션은 테이블의 행에 대한 잠금을 획득한 다음 사용자 입력을 대기할 수 있습니다. 사용자 입력 대기 시간이 길어지는 경우 이러한 잠금으로 인해 다른 사용자가 차단될 수 있습니다. 이 경우 필요한 경우에만 잠금 요청을 수행하고 잠금을 획득할 때 사용자 입력이 필요하지 않도록 애플리케이션을 다시 디자인해야 합니다.
Lock:Acquired 이벤트 클래스 데이터 열
데이터 열 이름 | 데이터 형식 | Description | 열 ID | 필터 가능 |
---|---|---|---|---|
ApplicationName | nvarchar | Microsoft SQL Server 인스턴스에 대한 연결을 만든 클라이언트 애플리케이션의 이름입니다. 이 열은 표시된 프로그램 이름이 아닌 애플리케이션에서 전달되는 값으로 채워집니다. | 10 | 예 |
BigintData1 | bigint | 잠금 리소스가 분할된 경우 파티션 ID입니다. | 52 | 예 |
BinaryData | image | 리소스 식별자를 잠급 수 있습니다. | 2 | 예 |
ClientProcessID | int | 호스트 컴퓨터에서 클라이언트 애플리케이션이 실행 중인 프로세스에 할당된 ID입니다. 클라이언트가 클라이언트 프로세스 ID를 제공하는 경우 이 데이터 열이 채워집니다. | 9 | 예 |
DatabaseID | int | 잠금을 획득한 데이터베이스의 ID입니다. SQL Server Profiler는 ServerName 데이터 열이 추적에 캡처되고 서버를 사용할 수 있는 경우 데이터베이스의 이름을 표시합니다. DB_ID 함수를 사용하여 데이터베이스의 값을 결정합니다. | 3 | 예 |
기간 | bigint | 잠금 요청을 실행한 시간과 잠금을 획득한 시간 사이의 경과 시간(밀리초)입니다. | 13 | 예 |
EndTime | 날짜/시간 | 이벤트가 끝난 시간입니다. | 15 | 예 |
EventClass | int | 이벤트 유형 = 24. | 27 | 아니요 |
EventSequence | int | 요청 내에 지정된 이벤트 시퀀스입니다. | 51 | 아니요 |
GroupID | int | SQL Trace 이벤트가 발생하는 워크로드 그룹의 ID입니다. | 66 | 예 |
HostName | nvarchar | 클라이언트가 실행 중인 컴퓨터의 이름입니다. 클라이언트에서 호스트 이름을 제공하는 경우 이 데이터 열이 채워집니다. 호스트 이름을 확인하려면 HOST_NAME 함수를 사용합니다. | 8 | 예 |
IntegerData2 | int | 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다. | 55 | 예 |
IsSystem | int | 시스템 프로세스 또는 사용자 프로세스에서 이벤트가 발생했는지 여부를 나타냅니다. 1 = system, 0 = user. | 60 | 예 |
LoginName | nvarchar | 사용자의 로그인 이름(SQL Server 보안 로그인 또는 DOMAIN\username 형식의 Windows 로그인 자격 증명). | 11 | 예 |
LoginSid | 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 | 예 |
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 | 예 |
데이터 열이 추적에서 캡처되고 서버를 사용할 수 있으면 | nvarchar | 추적 중인 SQL Server 인스턴스의 이름입니다. | 26 | 아니요 |
SessionLoginName | nvarchar | 세션을 시작한 사용자의 로그인 이름입니다. 예를 들어 Login1을 사용하여 SQL Server에 연결하고 Login2로 문을 실행하는 경우 SessionLoginName은 Login1을 표시하고 LoginName은 Login2를 표시합니다. 이 열에는 SQL Server 및 Windows 로그인이 모두 표시됩니다. | 64 | 예 |
SPID | int | 이벤트가 발생한 세션의 ID입니다. | 12 | 예 |
StartTime | 날짜/시간 | 이벤트가 시작된 시간(사용 가능한 경우)입니다. | 14 | 예 |
TextData | ntext | 가져온 잠금 형식에 따라 달라진 텍스트 값입니다. 이 값은 sys.dm_tran_locks 의 resource_description열과 같습니다. | 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=메타데이터 12=AUTONAMEDB 13=HOBT 14=ALLOCATION_UNIT |
57 | 예 |
참고 항목
Lock:Released 이벤트 클래스
sp_trace_setevent(Transact-SQL)
sys.dm_tran_locks (Transact-SQL)