sys.syslockinfo(Transact-SQL)
적용 대상:SQL Server
부여된 모든 잠금 요청, 변환 및 대기 중인 모든 요청에 대한 정보를 포함합니다.
Important
이 SQL Server 2000 시스템 테이블은 이전 버전과의 호환성을 위한 보기로 포함되어 있습니다. 대신 현재 SQL Server 시스템 뷰를 사용하는 것이 좋습니다. 동등한 시스템 뷰 또는 뷰를 찾으려면 시스템 테이블을 시스템 뷰에 매핑(Transact-SQL)을 참조하세요. Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요.
Important
이 기능은 이전 버전의 SQL Server에서 변경되었습니다. 자세한 내용은 SQL Server 2016의 데이터베이스 엔진 기능에 대한 주요 변경 내용을 참조하세요.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
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 | 잠금을 요청하는 세션의 내부 Microsoft SQL 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 권한이 필요합니다.
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기