SQL Server 2019 에서 추가된sys.dm_db_page_info, sys.fn_PageResCracker 기능으로 대기 관련 정보 확인
· Version : SQL Server 2019
SQL Server 2019 CTP 2.0에서 추가된 스토리지 엔진의 새로운 기능으로 페이지 관련 대기를 볼 수 있는 sys.dm_db_page_info DMV가 추가 되었다. 이 기능은 기존의 DBCC로 확인할 수 있었던 tempdb 경합이나, 마지막 페이지 삽입 경합(las page insert contention) 및 페이지 수준의 블록킹 등을 확인할 수 있다.
sys.dm_db_page_info DMV는 데이터베이스 ID, 파일 ID, 페이지 ID 및 모드(LIMITED 또는 DETAILED)의 4가지 매개 변수를 사용한다. sys.dm_db_page_info는 object_id, index_id 및 partition_id 포함하여 페이지의 헤더 정보를 단일 행이 있는 테이블로 반환한다. 또한 sys.dm_exec_requests 또는 sys.sysprocesses DMV 함수와 조인하여 페이지 관련 경합이 있을때 이 정보를 확인할 수 있다. 아래 스크립트는 sys.dm_db_page_info, sys.fn_PageResCracker를 사용하여 모든 활성 요청에 대한 페이지 관련 대기를 확인할 수 있다.
SELECT page_info.* FROM sys.dm_exec_requests AS d CROSS APPLY sys.fn_PageResCracker (d.page_resource) AS r CROSS APPLY sys.dm_db_page_info(r.db_id, r.file_id, r.page_id, 1) AS page_info |
위 새로운 기능에도 몇 가지 제한사항은 있다. 우선 DBCC PAGE를 완전히 대체할 수 없다. DBCC PAGE는 헤더 정보와 모든 데이터 및 슬롯 배열을 포함하여 페이지의 전체 내용을 제공한다. 또한 현재 sys.dm_exec_requests및 sys.sysprocesses에 대한 조인만 지원된다.
[참고자료]
2018-10-16 / Sungwook Kang / http://sqlmvp.kr
SQL Server, MSSQL, SQL 2019, Rowstore, Batch mode, Batch Mode on Rowstore, Intelligent Query Processing
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2019 에서 문자열 잘림에 대한 향상된 에러 메시지 반환 (0) | 2019.03.26 |
---|---|
SQL Server 2019 에서 업그레이드된sp_estimate_data_compression_savings 프로시저 (컬럼스토어 압축율 예상) (0) | 2019.03.26 |
SQL Server 2019에서 향상된 Rowstore batch mode (0) | 2019.03.26 |
SQL Server 2016부터 도입된 USE HINT를 사용한 추적 플래그 활성화 (0) | 2019.03.26 |
In-memory optimized table에 사용되는 Hash Index (0) | 2019.03.26 |