sys.fn_PageResCracker (Transact-SQL)

Si applica a: SQL Server 2019 (15.x)

Restituisce , db_idfile_ide page_id per il valore specificatopage_resource.

Convenzioni di sintassi Transact-SQL

Sintassi

sys.fn_PageResCracker ( page_resource )  

Argomenti

page_resource
Formato esadecimale a 8 byte di una risorsa di pagina del database.

Tabelle restituite

Nome colonna Tipo di dati Descrizione
db_id int ID database
file_id int ID file
page_id int ID pagina

Osservazioni:

sys.fn_PageResCracker viene utilizzato per convertire la rappresentazione esadecimale a 8 byte di una pagina del database in un set di righe contenente l'ID del database, l'ID file e l'ID pagina della pagina.

È possibile ottenere una risorsa di pagina valida dalla page_resource colonna della vista a gestione dinamica di sys.dm_exec_requests (Transact-SQL) o dalla vista di sistema sys.sysprocesses (Transact-SQL). Se viene usata una risorsa di pagina non valida, il valore restituito è NULL.
L'uso principale di sys.fn_PageResCracker consiste nel facilitare i join tra queste viste e la funzione di gestione dinamica di sys.dm_db_page_info (Transact-SQL) per ottenere informazioni sulla pagina, ad esempio l'oggetto a cui appartiene.

Autorizzazioni

L'utente deve disporre dell'autorizzazione VIEW SERVER STATE per il server.

Esempi

La sys.fn_PageResCracker funzione può essere usata insieme a sys.dm_db_page_info (Transact-SQL) per risolvere i problemi relativi alle attese e al blocco delle pagine in SQL Server. Lo script seguente è un esempio di come è possibile usare queste funzioni per raccogliere informazioni sulla pagina del database per tutte le richieste attive attualmente in attesa di un tipo di risorsa di pagina.

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

Vedi anche

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