PAGELATCH_ * 대기 유형으로 대기중인 차단 된 세션?


9

편집 : 세션보고가 차단되었지만 대기 유형이 PAGELATCH_*아닌 대기중인 이유는 무엇 LCK_M_입니까?

이전에는 SQL Server가 blocking_session_Id 열에 차단 세션 만보고한다고 가정했습니다. 차단 된 세션은 논리적 자물쇠와 같은 같은 다른 아무것도하지 기다리고 있었다 경우 PAGELATCH_*.

여기에 이미지 설명을 입력하십시오


많은 동시 세션이 테이블에 데이터를 삽입하는 것 같습니다. 인덱스와 함께 테이블 구조를 게시 할 수 있습니까?
Kin Shah

@Kin 테이블이 SPID 69, 82 및 84에 의해 삽입되기 시작하면 IDENTITY (1,1) 속성으로 정의 된 클러스터형 인덱스가 있으므로 마지막 페이지 삽입 경합이 발생할 수 있지만이 단계에서는 더 관심이 있습니다. 차단 된 세션이 비 잠금 관련 대기 유형으로 대기하는 이유 또한 흥미롭게도 SPID 93은 64에 의해 선택된 테이블과 완전히 관련이없는 테이블에 XLOCK을 배치하려고합니다.
Pixelated

답변:


6

이전에 차단 된 세션이 논리적 잠금을 대기 중이고와 같은 항목이 아닌 경우 SQL Server가 blocking_session_id 열에 차단 세션 만보고한다고 가정했습니다 PAGELATCH_*.

sp_WhoIsActive기본 제공 SQL Server 기능이 아닌 Adam Machanic의 절차를 사용 하고 있습니다. Adam의 절차는 잠금 차단뿐만 아니라 차단의 모든 '흥미로운'원인을보고합니다. 기본 정보는 sysprocesses , sys.dm_exec_requestssys.dm_os_waiting_tasks 등 다양한 소스에서 제공됩니다 .

작업은 잠금 이외의 다른 것을 기다릴 수 있습니다. 예를 들어, 페이지의 행에서 독점 잠금을 획득 할 수 있지만 여전히 다른 태스크가 호환되지 않는 모드에서 동일한 페이지를 래치했기 때문에 독점 페이지 래치 를 획득하기 위해 대기해야 합니다.

예를 들어, PAGELATCH_EX독점 페이지 래치는 wait_info 의 끝에 (*)로 표시된대로 PFS, GAM, SGAM, DCM 또는 BCM 페이지가 아닌 일반 데이터 또는 인덱스 페이지에 있습니다.

sp_WhoIsActive 여기에 대한 설명서 (블로그 항목)를 찾을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.