SQL Server에서 현재 DB에 걸린 트랜잭션 락 확인 방법

개념/배경 운영 중 특정 데이터베이스에서 대기나 블로킹이 의심될 때, 현재 걸린 트랜잭션 락을 직접 확인하는 것이 우선임 SQL Server의 동적 관리 뷰 sys.dm_tran_locks는 활성 잠금 정보를 제공하며 데이터베이스 단위로 필터링 가능 사용법/예시 아래 쿼리로 대상 DB에 설정된 잠금 목록 조회 SELECT * FROM sys.dm_tran_locks WHERE resource_database_id = DB_ID('MY_DB')요점 컬럼 참고 request_session_id: 잠금 보유 또는 대기 세션 ID resource_type, resource_associated_entity_id: 잠금 대상 리소스 식별 request_mode: 잠금 모드 (S, X 등) request_status: GRANT 또는 WAIT 상태 추가 확인 포인트 블로킹 체인 파악 필요 시 sys.dm_exec_requests, sys.dm_os_waiting_tasks와 조합하여 대기 중인 세션과 차단 세션 상관분석 권장 식별된 차단 세션은 영향 분석 후 종료 여부 판단 ...

March 21, 2026

nonce가 꼬인다? 트랜잭션 상태별 nonce의 변화

개요 Ethereum에서 트랜잭션 순서를 보장하는 핵심 메커니즘은 nonce임. 네트워크에서 자주 겪는 “nonce 꼬임"은 대개 트랜잭션 상태와 nonce 소비 규칙을 혼동해서 발생함. 아래는 EOA와 트랜잭션 관계, nonce 정의, 트랜잭션 상태별 nonce 변화 정리 EOA와 트랜잭션 Ethereum 계정은 두 종류로 구분 EOA, 개인 키로 서명해 트랜잭션 전송 가능 Contract Account, 스스로 트랜잭션 전송 불가, 외부에서 온 트랜잭션의 실행 흐름 내에서만 호출됨 트랜잭션을 보낸다는 것은 EOA가 서명 후 네트워크에 브로드캐스트한다는 의미. 컨트랙트는 내부 호출과 생성 같은 메시지 호출을 발생시킬 수 있지만 이는 트랜잭션이 아님. 최상위 트랜잭션의 발신자는 항상 EOA ...

January 21, 2026