sys.syslockinfo(Transact-SQL)
모든 허가된 잠금, 변환 중인 잠금, 대기 중인 잠금 요청에 대한 정보를 포함합니다.
중요 |
---|
이 SQL Server 2000 시스템 테이블은 이전 버전과의 호환성을 위해 뷰로 포함됩니다. 대신 현재 SQL Server 시스템 뷰를 사용하는 것이 좋습니다. 이와 동등한 뷰 또는 시스템 뷰를 찾으려면 SQL Server 2000 시스템 테이블을 SQL Server 2005 시스템 뷰로 매핑을 참조하십시오. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. |
중요 |
---|
이 기능은 이전 버전의 SQL Server에서 변경되었습니다. 자세한 내용은 SQL Server 2008 데이터베이스 엔진 기능의 주요 변경을 참조하십시오. |
열 이름 |
데이터 형식 |
설명 |
---|---|---|
rsc_text |
nchar(32) |
잠금 리소스에 관한 문자 설명입니다. 리소스 이름의 일부를 포함합니다. |
rsc_bin |
binary(16) |
이진 잠금 리소스입니다. 잠금 관리자에 있는 실제 잠금 리소스를 포함합니다. 이 열은 자체 형식의 잠금 리소스를 생성하고 syslockinfo에서 자체 조인을 수행하기 위한 잠금 리소스 형식을 알고 있는 도구에 포함됩니다. |
rsc_valblk |
binary(16) |
잠금 값 블록입니다. 일부 리소스 유형은 잠금 관리자가 해시하지 않은 잠금 리소스에 추가 데이터를 포함하여 특정 잠금 리소스의 소유권을 결정할 수 있습니다. 예를 들어 특정 개체 ID가 잠금 에스컬레이션 및 기타 목적을 위해 페이지 잠금을 소유할 수 없습니다. 그러나 페이지 잠금의 개체 ID를 잠금 값 블록에 포함할 수는 있습니다. |
rsc_dbid |
smallint |
리소스와 연관된 데이터베이스 ID입니다. |
rsc_indid |
smallint |
필요한 경우 사용할 수 있는 리소스와 연관된 인덱스 ID입니다. |
rsc_objid |
int |
리소스와 연관된 개체 ID입니다. 해당되는 경우에 한합니다. |
rsc_type |
tinyint |
리소스 유형: 1 = NULL 리소스(사용되지 않음) 2 = 데이터베이스 3 = 파일 4 = 인덱스 5 = 테이블 6 = 페이지 7 = 키 8 = 익스텐트 9 = RID (행 ID) 10 = 응용 프로그램 |
rsc_flag |
tinyint |
내부 리소스 플래그입니다. |
req_mode |
tinyint |
잠금 요청 모드입니다. 이 열은 요청자의 잠금 모드이며 허가된 모드, 변환 모드 또는 대기 모드를 표시합니다. 0 = NULL - 리소스에 허가된 액세스가 없습니다. 자리 표시자 역할을 합니다. 1 = Sch-S(스키마 안전성) - 특정 세션이 스키마 요소에 대해 스키마 안전성 잠금을 보유하고 있는 동안 테이블 또는 인덱스 등의 스키마 요소가 삭제되지 않도록 합니다. 2 = Sch-M(스키마 수정) - 지정한 리소스의 스키마를 변경하려는 세션이 보유해야 하는 잠금 모드입니다. 다른 세션이 표시된 개체를 참조하지 않도록 합니다. 3 = S(공유) - 보유 중인 세션이 리소스에 공유된 액세스를 할 수 있도록 권한을 부여합니다. 4 = U(업데이트) - 업데이트될 리소스에 대해 업데이트 잠금을 획득하도록 합니다. 나중에 업데이트할 경우를 대비해 여러 세션에서 리소스를 잠근 경우 일반적인 교착 상태 발생을 방지하기 위해 사용됩니다. 5 = X(배타) - 보유 중인 세션이 리소스에 배타적으로 액세스할 수 있도록 권한을 부여합니다. 6 = IS(내재된 공유) - 잠금 계층 구조의 일부 하위 리소스에 S 잠금을 설정하려는 의도를 표시합니다. 7 = IU(의도 업데이트) - 잠금 계층 구조의 일부 하위 리소스에 U 잠금을 설정하려는 의도를 표시합니다. 8 = IX(의도 배타) - 잠금 계층 구조의 일부 하위 리소스에 X 잠금을 설정하려는 의도를 표시합니다. 9 = SIU(공유 의도 업데이트) - 잠금 계층 구조의 하위 리소스에 대한 업데이트 잠금을 획득하기 위해 리소스에 대한 공유된 액세스를 표시합니다. 10 = SIX(공유 의도 배타) - 잠금 계층 구조의 하위 리소스에 대한 배타적 잠금을 획득하기 위해 리소스에 대한 공유된 액세스를 표시합니다. 11 = UIX(업데이트 의도 배타) - 잠금 계층 구조의 하위 리소스에 대한 배타적 잠금을 획득하기 위해 리소스에 업데이트 잠금을 보유함을 표시합니다. 12 = BU - 대량 작업에서 사용합니다. 13 = RangeS_S(공유 키 범위 및 공유 리소스 잠금) - 직렬화 가능 범위 검색을 표시합니다. 14 = RangeS_U(공유 키 범위 및 업데이트 리소스 잠금) - 직렬화 가능 업데이트 검색을 표시합니다. 15 = RangeI_N(삽입 키 범위 및 Null 리소스 잠금) - 새 키를 인덱스에 삽입하기 전에 범위를 테스트하는 데 사용됩니다. 16 = RangeI_S - RangeI_N 잠금과 S 잠금의 겹쳐진 부분에 의해 생성된 키 범위 변환 잠금입니다. 17 = RangeI_U - RangeI_N 잠금과 U 잠금의 겹쳐진 부분에 의해 생성된 키 범위 변환 잠금입니다. 18 = RangeI_X - RangeI_N 잠금과 X 잠금의 겹쳐진 부분에 의해 생성된 키 범위 변환 잠금입니다. 19 = RangeX_S - RangeI_N 잠금과 RangeS_S 잠금의 겹쳐진 부분에 의해 생성된 키 범위 변환 잠금입니다. 20 = RangeX_U - RangeI_N 잠금과 RangeS_U 잠금의 겹쳐진 부분에 의해 생성된 키 범위 변환 잠금입니다. 21 = RangeX_X(배타적 키 범위 및 배타적 리소스 잠금) - 범위 내에서 키를 업데이트할 때 사용되는 변환 잠금입니다. |
req_status |
tinyint |
잠금 요청의 상태입니다. 1 = 허가됨 2 = 변환 중 3 = 대기 중 |
req_refcnt |
smallint |
잠금 참조 수입니다. 트랜잭션이 특정 리소스에 대한 잠금을 확인할 때마다 참조 수가 증가합니다. 참조 수가 0이 될 때까지 잠금을 해제할 수 없습니다. |
req_cryrefcnt |
smallint |
나중에 사용하기 위해 예약되어 있습니다. 항상 0으로 설정합니다. |
req_lifetime |
int |
잠금 사용 기간 비트맵입니다. 특정 쿼리 처리 전략을 수행하는 동안 쿼리 프로세서가 쿼리의 특정 단계를 완료할 때까지 리소스에 대한 잠금을 유지 관리해야 합니다. 잠금 사용 기간 비트맵은 쿼리 프로세서 및 트랜잭션 관리자가 쿼리의 특정 단계가 완료되었을 때 해제할 수 있는 잠금 그룹을 표시하는 데 사용됩니다. 비트맵의 특정 비트는 참조 수가 0인 경우에도 트랜잭션이 끝날 때까지 보유되는 잠금을 표시하는 데 사용됩니다. |
req_spid |
int |
잠금을 요청하는 세션의 내부 MicrosoftSQL Server 데이터베이스 엔진 프로세스 ID입니다. |
req_ecid |
int |
실행 컨텍스트 ID(ECID)입니다. 병렬 작업에서 특정 잠금을 소유하고 있는 스레드를 표시하는 데 사용합니다. |
req_ownertype |
smallint |
다음은 잠금과 연관된 개체의 유형입니다. 1 = 트랜잭션 2 = 커서 3 = 세션 4 = ExSession 3과 4는 각각 세션 잠금의 특별한 버전인 데이터베이스 추적 및 파일 그룹 잠금을 나타냅니다. |
req_transactionID |
bigint |
syslockinfo 및 프로파일러 이벤트에서 사용되는 고유 트랜잭션 ID입니다. |
req_transactionUOW |
uniqueidentifier |
DTC 트랜잭션의 UOW(작업 단위) ID를 식별합니다. MS DTC 트랜잭션이 아닌 경우에는 UOW가 0으로 설정됩니다. |
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.