mssql waitresource 기반 page정보로 table 및 index 확인
[waiteresource 정보] 
RID. 잠금이 보유 또는 요청된 테이블 내의 단일 행을 식별합니다. RID는 RID: db_id:file_id:page_no:row_no로 표시됩니다. 예를 들면 RID: 6:1:20789:0과 같습니다. 
OBJECT. 잠금이 보유 또는 요청된 테이블을 식별합니다. OBJECT는 OBJECT: db_id:object_id로 표시됩니다. 예를 들면 TAB: 6:2009058193과 같습니다. 
KEY. 잠금이 보유 또는 요청된 인덱스 내의 키 범위를 식별합니다. KEY는 KEY: db_id:hobt_id (index key hash value)로 표시됩니다. 예를 들면 KEY: 6:72057594057457664 (350007a4d329)와 같습니다. 
PAG. 잠금이 보유 또는 요청된 페이지 리소스를 식별합니다. PAG는 PAG: db_id:file_id:page_no로 표시됩니다. 예를 들면 PAG: 6:1:20789와 같습니다. 
EXT. 익스텐트 구조를 식별합니다. EXT는 EXT: db_id:file_id:extent_no로 표시됩니다. 예를 들면 EXT: 6:1:9와 같습니다. 
DB. 데이터베이스 잠금을 식별합니다. DB는 다음 방법 중 하나로 표시됩니다. 
DB: db_id 
DB: db_id[BULK-OP-DB]. 이 방법은 백업 데이터베이스에서 수행된 데이터베이스 잠금을 식별합니다. 
DB: db_id[BULK-OP-LOG]. 이 방법은 특정 데이터베이스에 대해 백업 로그에서 수행된 잠금을 식별합니다. 
APP. 응용 프로그램 리소스에서 수행된 잠금을 식별합니다. APP는 APP: lock_resource로 표시됩니다. 예를 들면 APP: Formf370f478과 같습니다 
[확인 예시] 
waitresource = 11:24:3169121  -> 첫 번째 값은 DB 아이디. 
  
DBCC traceon (3604) WITH no_infomsgs          
DBCC PAGE (11,24,3169121) with  no_infomsgs, tableresults 
ParentObject Object Field VALUE 
PAGE HEADER: Page @0x000000095145E000 m_objId (AllocUnitId.idObj) 16431 
PAGE HEADER: Page @0x000000095145E000 m_indexId (AllocUnitId.idInd) 256 
PAGE HEADER: Page @0x000000095145E000 Metadata: AllocUnitId 7.20576E+16 
PAGE HEADER: Page @0x000000095145E000 Metadata: PartitionId 7.20576E+16 
PAGE HEADER: Page @0x000000095145E000 Metadata: IndexId 2                                   <---- 인덱스 아이디
PAGE HEADER: Page @0x000000095145E000 Metadata: ObjectId 132468542                     <---- 테이블 아이디 
object_id 값과 index 값을 알았으니 어느 테이블에 어느 객체인지 확인 하면 된다. 
select * from sys.objects where object_id = 132468542 
tblPlayer 132468542 NULL 1 0 U  USER_TABLE 2021-01-07 08:27:49.803 2021-01-07 08:27:49.823 0 0 0 
select * from sys.indexes where object_id = 132468542 and index_id = 2 
132468542 PK_tblPlayer 2 2 NONCLUSTERED 1 2 0 1 0 80 0 0 0 1 1 0 NULL NULL
결론 : tblPlayer 테이블의 PK_tblPlayer 인덱스에서 잠금이 발생
참고 : https://ceusee.tistory.com/140 [Bora.Choi]
'DB Skill > MSSQL' 카테고리의 다른 글
| mssql 형변환 잘못된 쿼리 확인 (0) | 2021.08.19 | 
|---|---|
| mssql vlf count 확인 및 축소 (0) | 2021.08.19 | 
| mssql 사용자 데이터베이스 이동(mdf, ldf 위치 변경) (0) | 2021.08.19 | 
| mssql tempdb 물리적 위치 변경 (0) | 2021.08.18 | 
| mssql table identity 확인 및 변경 ( DBCC CHECKIDENT 사용 ) (0) | 2021.08.18 |