편집 : 세션보고가 차단되었지만 대기 유형이 PAGELATCH_*
아닌 대기중인 이유는 무엇 LCK_M_
입니까?
이전에는 SQL Server가 blocking_session_Id 열에 차단 세션 만보고한다고 가정했습니다. 차단 된 세션은 논리적 자물쇠와 같은 같은 다른 아무것도하지 기다리고 있었다 경우 PAGELATCH_*
.
편집 : 세션보고가 차단되었지만 대기 유형이 PAGELATCH_*
아닌 대기중인 이유는 무엇 LCK_M_
입니까?
이전에는 SQL Server가 blocking_session_Id 열에 차단 세션 만보고한다고 가정했습니다. 차단 된 세션은 논리적 자물쇠와 같은 같은 다른 아무것도하지 기다리고 있었다 경우 PAGELATCH_*
.
답변:
이전에 차단 된 세션이 논리적 잠금을 대기 중이고와 같은 항목이 아닌 경우 SQL Server가 blocking_session_id 열에 차단 세션 만보고한다고 가정했습니다
PAGELATCH_*
.
sp_WhoIsActive
기본 제공 SQL Server 기능이 아닌 Adam Machanic의 절차를 사용 하고 있습니다. Adam의 절차는 잠금 차단뿐만 아니라 차단의 모든 '흥미로운'원인을보고합니다. 기본 정보는 sysprocesses , sys.dm_exec_requests 및 sys.dm_os_waiting_tasks 등 다양한 소스에서 제공됩니다 .
작업은 잠금 이외의 다른 것을 기다릴 수 있습니다. 예를 들어, 페이지의 행에서 독점 잠금을 획득 할 수 있지만 여전히 다른 태스크가 호환되지 않는 모드에서 동일한 페이지를 래치했기 때문에 독점 페이지 래치 를 획득하기 위해 대기해야 합니다.
예를 들어, PAGELATCH_EX
독점 페이지 래치는 wait_info 의 끝에 (*)로 표시된대로 PFS, GAM, SGAM, DCM 또는 BCM 페이지가 아닌 일반 데이터 또는 인덱스 페이지에 있습니다.
sp_WhoIsActive
여기에 대한 설명서 (블로그 항목)를 찾을 수 있습니다 .