티스토리 뷰

MSSQL

MSSQL sp_lock

썩은환타 2019. 6. 25. 14:40

sp_lock

 

 

 sp_lock

 설명

 spid

 잠금을 요청하는 프로세스의 데이터베이스 엔진 세션 ID

 SELECT @@SPID 로 확인 가능

 dbid

 잠금이 설정된 데이터베이스의 ID

 SELECT DB_ID() 로 확인 가능

 ObjId

 잠금이 설정된 개체의 ID

 SELECT OBJECT_NAME(ObjId) 로 확인 가능

 IndId

 잠금이 설정된 인덱스의 ID

 Type

 잠금 유형

 * RID : 행 식별자로 식별되는 테이블의 단일 행에 대한 잠금

 * KEY : 직렬화 할 수 있는 트랜잭션에서 키의 범위를 보호하는 인덱스 내의 잠금

 * PAG : 데이터 또는 인덱스 페이지에 대한 잠금

 * EXT : 익스텐트에 대한 잠금

 * TAB : 모든 데이터와 인덱스가 포함된 전체 테이블에 대한 잠금

 * DB : 데이터베이스에 대한 잠금

 * FIL : 데이터베이스 파일에 대한 잠금

 * APP : 응용 프로그램이 지정한 리소스에 대한 잠금

 * MD : 메타데이터 혹은 카탈로그 정보에 대한 잠금

 * HBT : 힙 또는 B-트리 인덱스에 대한 잠금

 * AU : 할당 단위에 대한 잠금

 Resource

 잠금 리소스를 식별하는 값

 각 Type 별로 아래 표에서 다시한번 설명합니다.

 Mode

 요청한 잠금모드

 * NULL : 리소스에 대해 허가된 액세스가 없음

 * Sch-S : 특정 세션이 스키마 요소에 대해 스키마 안전성 잠금을 보유하고 있는 동안 테이블 또는 인덱스 등의 스키마 요소가 삭제되지 않도록 함

 * Sch-M : 스키마 수정. 지정한 리소스의 스키마를 변경하려는 세션이 보유해야 하는 잠금 모드. 다른 세션이 표시된 개체를 참조하지 않도록 해야함

 * S : 공유. 보유 중인 세션이 리소스에 공유된 액세스를 할 수 있도록 권한을 부여

 * U : 업데이트. 업데이트될 리소스에 대해 업데이트 잠금을 획득

 * X : 배타. 보유 중인 세션이 리소스에 배타적으로 액세스 할 수 있도록 권한을 부여

 * IS : 의도 공유. 잠금 계층 구조의 일부 하위 리소스에 S 잠금을 설정하려는 의도를 표시

 * IU : 의도 업데이트. 잠금 계층 구조의 일부 하위 리소스에 X 잠금을 설정하려는 의도를 표시

 * IX : 의도 배타. 잠금 계층 구조의 일부 하위 리소스에 X 잠금을 설정하려는 의도를 표시

 * SIU : 공유 의도 업데이트. 잠금 계층 구조의 하위 리소스에 대한 업데이트 잠금을 획득하기 위해 리소스에 대한 공유된 액세스를 표시

 * SIX : 공유 의도 배타. 잠금 계층 구조의 하위 리소스에 대한 배타적 잠금을 획득하기 위해 리소스에 대한 공유된 액세스를 표시

 * UIX : 업데이트 의도 배타. 잠금 계층 구조의 하위 리소스에 대한 배타적 잠금을 획득하기 위해 리소스에 업데이트 잠금을 보유함을 표시

 * BU : 대량 업데이트. 대량 작업에 사용

 * RangeS_S : 공유 키 범위 및 공유 리소스 잠금. 직렬화 가능 범위 검색 표시

 * RangeS_U : 공유 키 범위 및 업데이트 리소스 잠금. 직렬화 가능 업데이트 검색을 표시

 * RangeI_N : 삽입 키 범위 Null 리소스 잠금. 새 키를 인덱스에 삽입하기 전에 범위를 테스트하는데 사용

 * RangeI_S : 키 범위 변환 잠금. RangeI_N 및 S 잠금의 겹침으로 생성

 * RangeI_U : RangeI_N 및 U 의 잠금의 겹침으로 생성된 키 범위 변환 잠금

 * RangeI_X : RangeI_N 및 X 잠금의 겹침으로 생성된 키 범위 변환 잠금

 * RangeI_X_S : RangeI_N 및 RANGES_S 잠금의 겹침으로 생성된 키 범위 변환 잠금

 * RangeI_X_U : RangeI_N 및 RangeS_U 잠금의 겹침으로 생성된 키 범위 변환 잠금

 * RangeX_X : 배타 키 범위 및 배타 리소스 잠금. 범위 내에서 키를 업데이트할 때 사용되는 변환 잠금

 Status

 잠금 요청 상태

 * CNVRT : 다른 모드에서 잠금을 변환하는 중 충돌하는 모드의 잠금을 보유한 다른 프로세스로 인해 변환이 차단

 * GRANT : 잠금을 획득

 * WAIT : 충돌하는 모드의 잠금을 보유한 다른 프소세스로 인해 잠금이 차단

 

 Resource

 설명

 RID

 fileid: pagenumber 형식

 fileid는 페이지가 포함된 파일을 식별

 pagenumber는 행이 포함된 페이지를 식별하며 rid는 페이지에서 특정 행을 식별

 fileid는 sys.database_files 카탈로그 뷰에 있는 file_id 와 일치

 KEY

 데이터베이스 엔진에서 내부적으로 사용되는 16진수

 PAG

 fileid: pagenumber 형식

 fileid는 페이지가 포함된 파일을 식별

 pagenumber는 행이 포함된 페이지를 식별

 EXT

 익스텐트의 첫 번째 페이지를 식별하는 번호

 fileid: pagenumber 형식

 TAB

 ObjId에서 이미 식별되었으므로 정보가 제공되지 않음

 DB

 DBId에서 이미 식별되었으므로 정보가 제공되지 않음

 FIL

 sys.database_files 카탈로그 뷰에 있는 file_id 열과 일치하는 파일의 식별자

 APP

 잠긴 응용 프로그램 리소스의 고유 식별자

 형식은 DbPrincipleId:<리소스 문자열의 처음 2자부터 16자까지><해시된 값>

 MD

 리소스 유형에 따라 달라지며 자세한 내용은
 sys.dm_tran_locks의 resource_description 열을 참조

 HBT  정보가 제공되지 않음
 sys.dm_tran_locks 동적 관리 뷰를 대신 사용
 AI

 정보가 제공되지 않음

 sys.dm_tran_locks 동적 관리 뷰를 대신 사용

 

 

kill(spid) --락걸린 프로시져 종료

 

dbcc inputbuffer(spid)--어떤 프로시저가 수행되는지/수행되었는지 확인

 

exec sp_who2 spid --좀 더 자세한 정보 확인

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함