sys.fn_PageResCracker (Transact-SQL)

適用対象: SQL Server 2019 (15.x)

指定page_resourceした値の db_idfile_id、および page_id を返します。

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_PageResCrackersys.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.sysのプロセス (Transact-sql)
sys.dm_exec_requests (Transact-SQL)