sys.fn_PageResCracker(Transact-SQL)
적용 대상: SQL Server 2019(15.x)
지정된 값에 db_id
대해 , file_id
및 page_id
값을 page_resource
반환합니다.
구문
sys.fn_PageResCracker ( page_resource )
인수
page_resource
데이터베이스 페이지 리소스의 8바이트 16진수 형식입니다.
반환된 테이블
열 이름 | 데이터 형식 | 설명 |
---|---|---|
db_id | int | 데이터베이스 ID |
file_id | int | 파일 ID |
page_id | int | 페이지 ID |
설명
sys.fn_PageResCracker
는 데이터베이스 페이지의 8바이트 16진수 표현을 페이지의 데이터베이스 ID, 파일 ID 및 페이지 ID가 포함된 행 집합으로 변환하는 데 사용됩니다.
sys.dm_exec_requests(Transact-SQL) 동적 관리 뷰 또는 sys.sysprocesses(Transact-SQL) 시스템 뷰의 열에서 page_resource
유효한 페이지 리소스를 가져올 수 있습니다. 잘못된 페이지 리소스를 사용하는 경우 반환은 NULL입니다.
주요 용도 sys.fn_PageResCracker
는 페이지에 속한 개체와 같은 페이지에 대한 정보를 얻기 위해 이러한 뷰와 sys.dm_db_page_info(Transact-SQL) 동적 관리 함수 간의 조인을 용이하게 하는 것입니다.
사용 권한
사용자에게 서버에 대한 권한이 필요합니다 VIEW SERVER STATE
.
예제
이 함수는 sys.fn_PageResCracker
sys.dm_db_page_info(Transact-SQL)와 함께 사용하여 SQL Server에서 페이지 관련 대기 및 차단 문제를 해결할 수 있습니다. 다음 스크립트는 이러한 함수를 사용하여 현재 일부 유형의 페이지 리소스에서 대기 중인 모든 활성 요청에 대한 데이터베이스 페이지 정보를 수집하는 방법의 예입니다.
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, 'DETAILED') AS page_info
참고 항목
sys.dm_db_page_info(Transact-SQL)
sys.sysprocesses (Transact-SQL)
sys.dm_exec_requests(Transact-SQL)