Skip to main content

데드락

Not translated
This page is currently being translated. We will complete the translation as soon as possible.

홈 화면 > 프로젝트 선택 > Analysis > Dead Lock

SQL Server에서 발생한 데드락 정보를 5초 간격으로 수집한 데이터를 기반으로 상세 정보를 제공합니다.

Note
  • 데드락(Deadlock)은 두 개 이상의 세션이 서로가 소유하고 있는 리소스를 대기하면서 영원히 종료되지 않는 교착 상태를 말합니다. SQL Server에서는 이러한 데드락 상태를 감지하고, 특정 트랜잭션을 강제 종료하여 교착 상태를 해소합니다. 그러나 빈번한 데드락은 시스템 성능 저하와 사용자 경험 악화를 유발하므로 적절한 모니터링 및 튜닝이 필요합니다.

  • 이 기능은 DBX 에이전트 2.2.2 버전 이상에서 지원합니다.

기본 사용 안내

사용자는 특정 시간, 인스턴스, 데이터베이스를 선택하여 데드락 이벤트를 조회할 수 있습니다.

Deadlock

  1. 화면 상단의 Time에서 조회하려는 날짜를 선택와 시간을 설정하세요.

  2. Instance에서 모니터링할 에이전트(인스턴스) 및 데이터베이스를 선택하세요.

  3. 검색 아이콘 버튼을 선택하세요.

선택한 인스턴스에서 설정한 시간 동안 발생한 데드락 현황을 확인할 수 있습니다. query 컬럼 항목에 마우스를 오버하면 SQL 문을 미리보기할 수 있습니다.

Note

조회 시간은 최대 3주까지 선택할 수 있습니다. 임의의 날짜와 시간을 조회하려면 시계 표시 부분을 선택하세요. 날짜와 시간 텍스트 영역을 클릭하면 날짜와 시간을 선택할 수 있는 옵션이 나타납니다.

Tip

데드락 발생 원인을 분석하고, 빈번한 데드락 패턴을 확인하세요.

  • 동일 리소스에 대한 중복 액세스를 최소화하도록 쿼리를 재설계합니다.

  • 적절한 인덱스를 사용하여 데이터 접근 경로를 효율화합니다.

  • 트랜잭션을 짧게 유지하고, 트랜잭션 내에서 불필요한 작업을 피합니다.

  • 필요할 경우, 잠금 우선순위를 조정하거나 쿼리 재구성을 통해 충돌 가능성을 줄입니다.

컬럼 안내

항목설명
Dead Lock Time데드락이 발생한 시간입니다. 이를 통해 특정 시간대의 트랜잭션을 분석할 수 있습니다.
Dead Count동일 시간에 발생한 데드락의 횟수입니다. 데드락 빈도를 파악하여 문제 심각도를 평가할 수 있습니다.
State데드락 이벤트의 상태입니다. 감지된 데드락이 처리되었는지 여부를 확인할 수 있습니다.
Query데드락을 유발한 쿼리의 내용입니다. 쿼리 최적화 및 데드락 해결에 중요한 정보를 제공합니다.
DB Id데드락이 발생한 데이터베이스의 ID입니다. 데이터베이스를 식별하여 문제의 원인을 좁히는 데 도움이 됩니다.
HoBT Id데드락이 발생한 리소스(Heap or B-Tree)의 ID입니다.
SPID데드락에 관여한 프로세스 ID(Session Process ID)입니다. 문제를 유발한 세션을 식별할 수 있습니다.
Mode데드락이 발생한 잠금 모드(예, 공유 잠금, 배타적 잠금)를 나타냅니다.