sys.fn_PageResCracker (Transact-SQL)

S’applique à : SQL Server 2019 (15.x)

Retourne la db_idvaleur , file_idet page_id pour la valeur donnée page_resource .

Conventions de la syntaxe Transact-SQL

Syntaxe

sys.fn_PageResCracker ( page_resource )  

Arguments

page_resource
Format hexadécimal de 8 octets d’une ressource de page de base de données.

Tables retournées

Nom de la colonne Type de données Description
db_id int ID de base de données
file_id int ID de fichier
page_id int ID de page

Remarques

sys.fn_PageResCracker est utilisé pour convertir la représentation hexadécimale de 8 octets d’une page de base de données en ensemble de lignes qui contient l’ID de base de données, l’ID de fichier et l’ID de page de la page.

Vous pouvez obtenir une ressource de page valide à partir de la page_resource colonne de la vue de gestion dynamique sys.dm_exec_requests (Transact-SQL) ou de la vue système sys.sysprocesses (Transact-SQL). Si une ressource de page non valide est utilisée, le retour est NULL.
L’utilisation principale de est de sys.fn_PageResCracker faciliter les jointures entre ces vues et la fonction de gestion dynamique sys.dm_db_page_info (Transact-SQL) afin d’obtenir des informations sur la page, telles que l’objet auquel elle appartient.

Autorisations

L’utilisateur a besoin d’une VIEW SERVER STATE autorisation sur le serveur.

Exemples

La sys.fn_PageResCracker fonction peut être utilisée conjointement avec sys.dm_db_page_info (Transact-SQL) pour résoudre les problèmes d’attente et de blocage liés aux pages dans SQL Server. Le script suivant est un exemple de la façon dont vous pouvez utiliser ces fonctions pour collecter des informations sur les pages de base de données pour toutes les demandes actives en attente sur un type de ressource de page.

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

Voir aussi

sys.dm_db_page_info (Transact-SQL)
sys.sysprocesses (Transact-SQL)
sys.dm_exec_requests (Transact-SQL)