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 字节十六进制格式。
返回的表
列名称 | 数据类型 | 描述 |
---|---|---|
db_id | int | 数据库 ID |
file_id | int | 文件 ID |
page_id | int | 页面 ID |
注解
sys.fn_PageResCracker
用于将数据库页的 8 字节十六进制表示形式转换为包含页面的数据库 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)