sys.fn_PageResCracker (Transact-SQL)
適用対象: SQL Server 2019 (15.x)
指定したpage_resource
値のdb_id
、file_id
、およびpage_id
を返します。
構文
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.sysのプロセス (Transact-sql)
sys.dm_exec_requests (Transact-SQL)