락 트리
홈 화면 > 프로젝트 선택 > 분석 > 락 트리
SQL Server 데이터베이스에서 발생하는 락(lock) 현황을 실시간으로 모니터링하고 세션의 락 상태와 관련한 세부 정보를 확인할 수 있는 유용한 도구입니다. 이 기능을 통해 사용자는 데이터베이스 성능 저하를 유발할 수 있는 락 문제를 빠르게 식별하고 원인을 분석할 수 있습니다.
제공하는 주요 기능은 다음과 같습니다.
-
락 현황 시각화: 하루 동안 발생한 락 현황을 시각화한 그래프로 확인할 수 있습니다. 이를 통해 락이 발생한 시간대와 빈도를 한눈에 파악할 수 있습니다.
-
세션 정보 제공: 락을 유발한 세션에 대한 상세 정보를 테이블 형식으로 제공합니다. 각 세션의 상태, 대기 시간, 대기 유형, 실행 중인 SQL 문 등의 정보를 확인할 수 있습니다.
- 시간별 락 트렌드 시각화: 1-Min Lock Trends와 Lock Wait Sessions 기능을 통해 락 발생 데이터를 시간 단위로 분석할 수 있습니다.
기본 사용 안내

-
화면 상단의 시간에서 조회하려는 날짜를 선택하고 시간을 설정하세요.
-
모니터링할 인스턴스를 선택하세요.
선택한 인스턴스에서 설정한 시간 동안 발생한 잠금(Lock) 현황을 확인할 수 있습니다.
만약 설정된 시간 동안 잠금(Lock)이 발생했다면, Lock Wait Sessions 그래프와 하단의 테이블에서 특정 시간대에 잠금이 집중되는지, 또는 특정 세션이 지속적으로 잠금을 유발하는지 등을 분석할 수 있습니다.
- 차트에서 3시간 이내로 드래그해서 5초 단위의 데이터를 조회할 수 있습니다. 다만 5초 단위의 데이터는 최근 한 달 범위에서만 조회할 수 있습니다. 한 달 이전의 데이터는 5분 요약 데이터로만 볼 수 있습니다. 예를 들어, 40일 전의 락 트릭 데이터를 드래그(드릴다운)해서 5분 요약 데이터를 조회할 수 있으나 5초 데이터는 알 수 없습니다.
Lock Wait Sessions
Lock Wait Sessions는 락 대기 세션의 정보를 분석할 수 있는 기능입니다. 조회 기간에 따라 락 대기 세션 데이터를 3시간 이상 조회 시 5분 간격으로, 3시간 미만 조회 시 5초 간격으로 제공합니다. 또한 차트를 드래그하여 시간 범위를 유동적으로 조정할 수 있습니다.
1-Min Lock Trends
Lock Wait Sessions에서 특정 시간대를 클릭하면, 해당 시간 기준으로 15분 전부터 15분 후까지의 총 30분 동안의 락 발생 현황을 시각화하여 표시합니다. 이를 통해 30분 단위로 락 발생 트렌드를 효과적으로 분석할 수 있습니다.
Total Locks는 해당 시간대에 발생한 락의 총 개수를 의미합니다.
시간 조회
Lock Wait Sessions에서 클릭한 시간에 발생한 최대 락 개수를 기준으로 1-Min Lock Trends와 Lock Tree 테이블의 시간이 설정됩니다. 이를 통해 락이 가장 많이 발생한 구간을 찾을 수 있습니다.

Lock Wait Sessions는 그대로 두고 1-Min Lock Trends 차트에서 다른 시간대의 바를 클릭한 경우, 해당 분의 최대 락 개수를 가진 초로 Lock Tree 테이블에 시간 범위가 동기화됩니다. 이를 통해 시간대를 변경할 때 Lock Tree 테이블에서 반영된 정보를 확인할 수 있습니다.

-
3시간 이상 조회 시 (5분 단위 데이터 사용)
조회 시점부터 5분 구간에서 바의 색상이 진하게 표시됩니다.
07:15:00시점을 클릭한 경우,07:15:00~07:20:00구간 바 차트 색이 진하게 표시됩니다.
-
3시간 미만 조회 시 (5초 단위 데이터 사용)
짧은 시간 간격에서 발생한 락 상황을 분석할 때 유용합니다.

컬럼 정보 안내
각 세션에 대한 세부 정보는 다음 컬럼을 통해 제공합니다.
| 항목 | 설명 |
|---|---|
application | 세션을 생성한 애플리케이션의 이름입니다. |
client | 세션을 생성한 클라이언트의 이름 또는 IP 주소입니다. |
db | 세션이 연결된 데이터베이스의 이름입니다. |
elapsed_time | 세션이 시작된 후 경과된 시간(밀리초 단위)입니다. 잠금이 발생한 이후 얼마나 시간이 흘렀는지 측정하는 데 사용됩니다. |
host | 세션을 생성한 클라이언트 호스트의 이름입니다. |
id | 잠금 세션의 고유 식별자(ID)입니다. |
instance | 에이전트 또는 인스턴스의 이름입니다. |
last_wait_type | 세션이 마지막으로 기다린 대기 유형입니다. |
row_count | 세션에서 처리된 행(row)의 수를 나타냅니다. |
query | 현재 세션에서 실행 중인 SQL 문의 전체 텍스트입니다. |
query_param | 세션에서 실행 중인 SQL 문의 매개변수 값입니다.s |
status | 세션의 현재 상태를 나타냅니다. 예를 들어, running, suspended, sleeping 등이 있으며, 세션이 활성 상태인지, 대기 중인지를 의미합니다. |
user | SQL Server에 접속한 사용자의 이름입니다. |
wait_resource | 세션이 대기하고 있는 자원(resource)을 나타냅니다. |
wait_time | 세션이 대기 중인 시간(밀리초 단위)입니다. |
wait_type | 세션이 대기 중인 대기 유형을 나타냅니다. 예를 들어, 잠금 대기 또는 IO 대기 등의 정보를 포함합니다. |
와탭은 클라이언트와 관련한 정보를 기본 저장합니다.
wait_type
wait_type 컬럼은 SQL Server에서 쿼리나 트랜잭션이 대기 중인 특정 리소스나 이벤트를 나타내는 값입니다. SQL Server는 내부적으로 다양한 대기 유형을 사용하여 시스템 성능을 관리하고 문제를 진단합니다.