다음을 통해 공유


sys.fn_PageResCracker(Transact-SQL)

적용 대상: SQL Server 2019(15.x)

지정된 값에 db_id대해 , file_idpage_id 값을 page_resource 반환합니다.

Transact-SQL 구문 표기 규칙

구문

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)