SQL Server, Locks 개체

적용 대상:SQL Server

Microsoft SQL Server의 SQLServer:Locks 개체는 개별 리소스 종류에 대한 SQL Server 잠금에 대한 정보를 제공합니다. 트랜잭션 중에 읽거나 수정한 행과 같은 SQL Server 리소스에 잠금이 유지되어 서로 다른 트랜잭션에서 리소스를 동시에 사용할 수 없습니다. 예를 들어 트랜잭션에 의해 테이블 내의 행에 배타적(X) 잠금이 유지되는 경우 잠금이 해제될 때까지 다른 트랜잭션은 해당 행을 수정할 수 없습니다. 잠금을 최소화하면 동시성이 향상되어 성능이 향상될 수 있습니다. Locks 개체의 여러 인스턴스를 동시에 모니터링할 수 있으며 각 인스턴스는 리소스 종류에 대한 잠금을 나타냅니다.

이 표에서는 SQL Server 잠금 카운터에 대해 설명합니다.

SQL Server 잠금 카운터 설명
평균 대기 시간(밀리초) 대기를 초래한 각 잠금 요청에 대한 평균 대기 시간(밀리초)입니다.
평균 대기 시간 기준 내부 전용.
Lock Requests/sec 잠금 관리자에서 요청한 새 잠금 및 잠금 변환 수입니다.
잠금 시간 제한(시간 제한 > 0)/초 시간 초과된 초당 잠금 요청 수이지만 NOWAIT 잠금에 대한 요청은 제외됩니다.
Lock Timeouts/sec 시간 초과된 초당 잠금 요청 수입니다. 여기에는 NOWAIT 잠금에 대한 요청이 포함됩니다.
잠금 대기 시간(밀리초) 마지막 1초 동안의 잠금에 대한 총 대기 시간(밀리초)입니다.
Lock Waits/sec 호출자가 기다려야 하는 초당 잠금 요청 수입니다.
Deadlocks/sec의 수 교착 상태가 발생한 초당 잠금 요청 수입니다.

SQL Server는 이러한 리소스를 잠글 수 있습니다.

항목 설명
_총 모든 잠금에 대한 정보입니다.
AllocUnit 할당 단위에 대한 잠금입니다.
애플리케이션 애플리케이션에서 지정한 리소스에 대한 잠금입니다.
Database 데이터베이스의 모든 개체를 포함하여 데이터베이스에 대한 잠금입니다.
범위 8페이지의 연속된 그룹에 대한 잠금입니다.
파일 데이터베이스 파일에 대한 잠금입니다.
힙/B-트리 힙 또는 B-트리입니다. 데이터 페이지 힙 또는 인덱스의 B-트리 구조에 대한 잠금입니다.
Key 인덱스 행에 대한 잠금입니다.
메타데이터 메타데이터라고도 하는 카탈로그 정보의 조각에 대한 잠금입니다.
Object 모든 데이터 및 인덱스를 포함하는 테이블, 저장 프로시저, 뷰 등에 대한 잠금입니다. 개체는 항목이 있는 모든 항목이 될 수 있습니다 sys.all_objects.
OIB 특히 온라인 인덱스 빌드 LOB 추적 테이블의 경우 온라인 인덱스 빌드 잠금에 대한 리소스를 잠급 수 있습니다.
페이지 데이터베이스의 8KB(킬로바이트) 페이지에 대한 잠금입니다.
제거 행 ID입니다. 힙의 단일 행에 대한 잠금입니다.
RowGroup columnstore 인덱스 행 그룹에 대한 리소스를 잠급 수 있습니다.
Xact 트랜잭션에 대한 잠금 리소스입니다.

참고 항목

SQL Server 설명서는 인덱스를 지칭할 때 B-트리라는 용어를 사용합니다. rowstore 인덱스에서 SQL Server는 B+ 트리를 구현합니다. 이는 columnstore 인덱스나 메모리 내 데이터 저장소에는 적용되지 않습니다. 자세한 내용은 SQL Server 및 Azure SQL 인덱스 아키텍처 및 디자인 가이드를 참조 하세요.

예시

sys.dm_os_performance_counters 동적 관리 뷰에서 이 T-SQL 쿼리를 사용하여 이 개체의 쿼리 성능 카운터를 탐색하기 시작합니다.

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Locks%';