데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

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 대한 조인만 지원된다.

 

[참고자료]

https://blogs.msdn.microsoft.com/sql_server_team/sql-server-2019-ctp-2-0-new-features-introducing-the-page-cracker-aka-sys-dm_db_page_info/

 

2018-10-16 / Sungwook Kang / http://sqlmvp.kr

 

SQL Server, MSSQL, SQL 2019, Rowstore, Batch mode, Batch Mode on Rowstore, Intelligent Query Processing



출처: https://sqlmvp.tistory.com/1272?category=618825 [Database Lab]
No. Subject Author Date Views
2150 SQL Server 2019 에서 업그레이드된sp_estimate_data_compression_savings 프로시저 (컬럼스토어 압축율 예상) jevida(강성욱) 2019.03.26 528
» SQL Server 2019 에서 추가된sys.dm_db_page_info, sys.fn_PageResCracker 기능으로 대기 관련 정보 확인 jevida(강성욱) 2019.03.26 766
2148 SQL Server 2019에서 향상된 Rowstore batch mode jevida(강성욱) 2019.03.26 420
2147 SQL Server 2016부터 도입된 USE HINT를 사용한 추적 플래그 활성화 jevida(강성욱) 2019.03.26 439
2146 In-memory optimized table에 사용되는 Hash Index jevida(강성욱) 2019.03.26 390
2145 VM환경에서 AG를 구성하였을때VSS 백업 동작 변경 jevida(강성욱) 2019.03.25 394
2144 SQL Server 2016 향상된 가용성 그룹 – 데이터베이스 수준의 상태 탐지 장애조치 jevida(강성욱) 2019.03.25 419
2143 SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size jevida(강성욱) 2019.03.25 309
2142 SQL Server 설치시 발생하는 1638 오류 jevida(강성욱) 2019.03.25 410
2141 SQL Server 666코드의 고유 식별자 오류 jevida(강성욱) 2019.03.25 293
2140 SQL Server AlwaysOn synchronous-commit 환경에서 동기화 레이턴시 트러블슈팅 jevida(강성욱) 2019.03.25 349
2139 SQL Server Scheduling and Yielding 트러블슈팅 jevida(강성욱) 2019.03.25 351
2138 SQL Server 2016 Tempdb 경합(contention) 최적화 jevida(강성욱) 2019.03.25 437
2137 XEvent를 사용하여 Auto tuning 작업 모니터링 jevida(강성욱) 2019.03.25 450
2136 SQL Server In-Memory OLTP에 ASP.NET 세션 상태 저장하기 jevida(강성욱) 2019.03.25 351
2135 SQL Server에서 JSON 데이터 저장하기 jevida(강성욱) 2019.03.25 424
2134 Azure SQL에서 네트워크를 구성하는 방법 jevida(강성욱) 2019.03.25 231
2133 SQL Server 네이티브 컴파일된 저장 프로시저 성능 모니터링 jevida(강성욱) 2019.03.25 440
2132 SQL Server 2017 소규모 시스템에서 향상된 리소스 사용 jevida(강성욱) 2019.03.25 258
2131 클러스터 컬럼스토어 인덱스(Clusterd Columnstore Index)에서 대량 인서트 작업시 발생하는 래치 경합 최소화 트릭 jevida(강성욱) 2019.03.25 398





XE Login