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

Gilt für: jaSQL Server 2019 und höher jaAzure SQL- DatenbankNein Azure Synapse Analytics (SQL DW )Nein parallel Data WarehouseAPPLIES TO: YesSQL Server 2019 and later YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Gibt Informationen zu einer Seite in einer Datenbank zurück.Returns information about a page in a database. Die-Funktion gibt eine Zeile zurück, die die Header Informationen der Seite enthält, object_ideinschließlich index_id, und partition_id.The function returns one row that contains the header information from the page, including the object_id, index_id, and partition_id. Dank dieser Funktion ist die Verwendung von DBCC PAGE in den meisten Fällen nicht mehr erforderlich.This function replaces the need to use DBCC PAGE in most cases.

Hinweis

sys.dm_db_page_infowird derzeit nur in SQL Server 2019 (15.x)SQL Server 2019 (15.x) und höher unterstützt.sys.dm_db_page_info is currently supported only in SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later.

SyntaxSyntax

sys.dm_db_page_info ( DatabaseId, FileId, PageId, Mode )  

ArgumenteArguments

DatabaseID | NULL | VorgegebeneDatabaseId | NULL | DEFAULT
Die ID der Datenbank.Is the ID of the database. DatabaseID ist vom Datentyp smallint.DatabaseId is smallint. Eine gültige Eingabe ist die ID einer Datenbank.Valid input is the ID number of a database. Der Standardwert ist NULL. das Senden eines NULL-Werts für diesen Parameter führt jedoch zu einem Fehler.The default is NULL, however sending a NULL value for this parameter will result in an error.

FileId Mit der NULL | VorgegebeneFileId | NULL | DEFAULT
Die ID der Datei.Is the ID of the file. " Fleid " ist " int" Eine gültige Eingabe ist die ID-Nummer einer Datei in der Datenbank, die von DatabaseIDangegeben wird.FileId is int. Valid input is the ID number of a file in the database specified by DatabaseId. Der Standardwert ist NULL. das Senden eines NULL-Werts für diesen Parameter führt jedoch zu einem Fehler.The default is NULL, however sending a NULL value for this parameter will result in an error.

PageID | NULL | VorgegebenePageId | NULL | DEFAULT
Die ID der Seite.Is the ID of the page. PageID ist vom Datentyp int. Eine gültige Eingabe ist die ID einer Seite in der Datei, die von " fleid" angegeben wird.PageId is int. Valid input is the ID number of a page in the file specified by FileId. Der Standardwert ist NULL. das Senden eines NULL-Werts für diesen Parameter führt jedoch zu einem Fehler.The default is NULL, however sending a NULL value for this parameter will result in an error.

Modus | NULL | VorgegebeneMode | NULL | DEFAULT
Bestimmt die Detailebene in der Ausgabe der Funktion.Determines the level of detail in the output of the function. "Limited" gibt NULL-Werte für alle Beschreibungs Spalten zurück, "ausführlich" füllt Beschreibungs Spalten auf.'LIMITED' will return NULL values for all description columns, 'DETAILED' will populate description columns. Der Standardwert ist ' Limited '.DEFAULT is 'LIMITED.'

Zurückgegebene TabelleTable Returned

SpaltennameColumn name DatentypData type BESCHREIBUNGDescription
database_iddatabase_id  INTint  Datenbank-IDDatabase ID 
file_idfile_id  INTint  Datei-IDFile ID 
page_idpage_id  INTint  Seiten-IDPage ID 
page_header_versionpage_header_version  INTint  Seitenkopf VersionPage header version 
page_typepage_type  INTint  SeitentypPage Type 
page_type_descpage_type_desc  nvarchar (64)nvarchar(64)  Beschreibung des Seiten TypsDescription of the page type 
page_type_flag_bitspage_type_flag_bits  nvarchar (64)nvarchar(64)  Typflag "Bits" in SeitenkopfType Flag bits in page header 
page_type_flag_bits_descpage_type_flag_bits_desc  nvarchar (64)nvarchar(64)  Typflag "Bits Description" im SeitenkopfType flag bits description in page header 
page_flag_bitspage_flag_bits  nvarchar (64)nvarchar(64)  Bits im Seitenkopf markierenFlag bits in page header 
page_flag_bits_descpage_flag_bits_desc  nvarchar(256)nvarchar(256)  Bits-Beschreibung im Seitenkopf markierenFlag bits description in page header 
page_lsnpage_lsn  nvarchar (64)nvarchar(64)  Protokoll Sequenznummer/ZeitstempelLog sequence number / timestamp 
page_levelpage_level  INTint  Ebene der Seite in Index (Blatt = 0)Level of the page in index (leaf = 0) 
object_idobject_id  INTint  ID des Objekts, das die Seite besitztID of the object owning the page 
index_idindex_id  INTint  ID des Indexes (0 für Heap Datenseiten)ID of the index (0 for heap data pages) 
partition_idpartition_id  BIGINTbigint  Die ID der Partition.ID of the partition 
alloc_unit_idalloc_unit_id  BIGINTbigint  ID der Zuordnungs EinheitID of the allocation unit 
is_encryptedis_encrypted bitbit Bit, das angibt, ob die Seite verschlüsselt istBit to indicate whether or not the page is encrypted
has_checksumhas_checksum bitbit Bit, um anzugeben, ob die Seite einen Prüfsummen Wert hatBit to indicate whether or not the page has a checksum value
Prüfsummechecksum  INTint  Speichert den Prüfsummen Wert, mit dem Daten beschädigt erkannt werden.Stores the checksum value that is used to detect data corruption 
is_iam_pgis_iam_pg  bitbit  Bit, um anzugeben, ob es sich bei der Seite um eine IAM-Seite handeltBit to indicate whether or not the page is an IAM page  
is_mixed_extis_mixed_ext  bitbit  Bit, das angibt, ob es in einem gemischten Block zugeordnet istBit to indicate if allocated in a mixed extent 
has_ghost_recordshas_ghost_records bitbit Bit, das angibt, ob die Seite inaktive Datensätze enthältBit to indicate if the page contains ghost records
Ein inaktive Datensatz ist ein Datensatz, der zum Löschen markiert wurde, aber noch entfernt werden muss.A ghosted record is one that has been marked for deletion but has yet to be removed.
has_version_recordshas_version_records bitbit Bit, das angibt, ob die Seite für die Beschleunigte Daten Bank Wiederherstellung verwendete Versionsdaten Sätze enthältBit to indicate if the page contains version records used for Accelerated Database Recovery
pfs_page_idpfs_page_id  INTint  Seiten-ID der entsprechenden PFS-SeitePage ID of corresponding PFS page 
pfs_is_allocatedpfs_is_allocated bitbit Bit, um anzugeben, ob die Seite auf der entsprechenden PFS-Seite als zugeordnet gekennzeichnet istBit to indicate whether or not the page is marked as allocated in the corresponding PFS page
pfs_alloc_percentpfs_alloc_percent  INTint  Belegungs Prozentsatz, wie durch das entsprechende PFS-Byte angegebenAllocation percent as indicated by the corresponding PFS byte 
pfs_statuspfs_status  nvarchar (64)nvarchar(64)  PFS-BytePFS byte 
pfs_status_descpfs_status_desc  nvarchar (64)nvarchar(64)  Die Beschreibung des PFS-bytes.Description of the PFS byte 
gam_page_idgam_page_id  INTint  Seiten-ID der entsprechenden GAM-SeitePage ID of the corresponding GAM page 
gam_statusgam_status  bitbit  Bit, das angibt, ob es in GAM zugeordnet istBit to indicate if allocated in GAM 
gam_status_descgam_status_desc  nvarchar (64)nvarchar(64)  Beschreibung des GAM-Status BitDescription of the GAM status bit 
sgam_page_idsgam_page_id  INTint  Seiten-ID der entsprechenden SGAM-SeitePage ID of the corresponding SGAM page
sgam_statussgam_status  bitbit  Bit, das angibt, ob es in SGAM zugeordnet istBit to indicate if allocated in SGAM 
sgam_status_descsgam_status_desc  nvarchar (64)nvarchar(64)  Beschreibung des SGAM-Status BitDescription of the SGAM status bit 
diff_map_page_iddiff_map_page_id  INTint  Seiten-ID der entsprechenden differenziellen Bitmap-SeitePage ID of the corresponding differential bitmap page
diff_statusdiff_status  bitbit  Bit, das angibt, ob der diff-Status geändert wirdBit to indicate if diff status is changed 
diff_status_descdiff_status_desc  nvarchar (64)nvarchar(64)  Beschreibung des diff-StatusbitsDescription of the diff status bit 
ml_map_page_idml_map_page_id  INTint  Seiten-ID der entsprechenden Bitmap-Seite der minimalen ProtokollierungPage ID of the corresponding minimal logging bitmap page
ml_statusml_status  bitbit  Bit, das angibt, ob die Seite minimal protokolliert wirdBit to indicate if the page is minimally logged 
ml_status_descml_status_desc  nvarchar (64)nvarchar(64)  Beschreibung des Bits mit minimaler Protokollierungs StatusDescription of the minimal logging status bit 
prev_page_file_idprev_page_file_id  SMALLINTsmallint  Datei-ID der vorherigen SeitePrevious page file ID 
prev_page_page_idprev_page_page_id  INTint  Seiten-ID der vorherigen SeitePrevious page page ID 
next_page_file_idnext_page_file_id  SMALLINTsmallint  Datei-ID der nächsten SeiteNext page file ID 
next_page_page_idnext_page_page_id  INTint  ID der nächsten Seiten SeiteNext page page ID 
fixed_lengthfixed_length  SMALLINTsmallint  Länge von Zeilen mit fester GrößeLength of fixed size rows 
slot_countslot_count  SMALLINTsmallint  Gesamtanzahl der Slots (verwendet und nicht verwendet)Total number of slots (used and unused)
Bei einer Datenseite entspricht diese Zahl der Anzahl von Zeilen.For a data page, this number is equivalent to the number of rows. 
ghost_rec_countghost_rec_count  SMALLINTsmallint  Anzahl von Datensätzen, die auf der Seite als "Ghost" gekennzeichnetNumber of records marked as ghost on the page
Ein inaktive Datensatz ist ein Datensatz, der zum Löschen markiert wurde, aber noch entfernt werden muss.A ghosted record is one that has been marked for deletion but has yet to be removed. 
free_bytesfree_bytes  SMALLINTsmallint  Anzahl der freien Bytes auf der SeiteNumber of free bytes on the page 
free_data_offsetfree_data_offset  INTint  Offset des freien Speicherplatzes am Ende des DatenbereichsOffset of free space at end of data area 
reserved_bytesreserved_bytes  SMALLINTsmallint  Anzahl von freien bytes, die von allen Transaktionen (bei Heap) reserviert werdenNumber of free bytes reserved by all transactions (if heap) 
Anzahl der ggf. gehosteten Zeilen (bei Index Blatt)Number of ghosted rows (if index leaf) 
reserved_bytes_by_xdes_idreserved_bytes_by_xdes_id  SMALLINTsmallint  Von m_xdesID beigetragener Speicherplatz m_reservedCntSpace contributed by m_xdesID to m_reservedCnt
Nur zu DebuggingzweckenFor debugging purposes only 
xdes_idxdes_id  nvarchar (64)nvarchar(64)  Letzte von m_reserved beigetragene TransaktionLatest transaction contributed by m_reserved
Nur zu DebuggingzweckenFor debugging purposes only 

BemerkungenRemarks

Die sys.dm_db_page_info dynamische Verwaltungsfunktion gibt Seiten Informationen wie page_id, file_id, index_id object_id usw. zurück, die in einem Seitenkopf vorhanden sind.The sys.dm_db_page_info dynamic management function returns page information like page_id, file_id, index_id, object_id etc. that are present in a page header. Diese Informationen sind für die Problembehandlung und das Debuggen verschiedener Leistungsprobleme (Sperr-und Latchkonflikte) und Beschädigungs Probleme nützlich.This information is useful for troubleshooting and debugging various performance (lock and latch contention) and corruption issues.

sys.dm_db_page_infokann anstelle der- DBCC PAGE Anweisung in vielen Fällen verwendet werden, aber es werden nur die Seitenheader Informationen und nicht der Text der Seite zurückgegeben.sys.dm_db_page_info can be used in place of the DBCC PAGE statement in many cases, but it returns only the page header information, not the body of the page. DBCC PAGEwird immer noch für Anwendungsfälle benötigt, in denen der gesamte Inhalt der Seite erforderlich ist.DBCC PAGE will still be needed for use cases where the entire contents of the page are required.

Verwenden von in Verbindung mit anderen DMVsUsing in Conjunction With Other DMVs

Einer der wichtigen Anwendungsfälle von sys.dm_db_page_info besteht darin, ihn mit anderen DMVs zu verknüpfen, die Seiten Informationen verfügbar machen.One of the important use cases of sys.dm_db_page_info is to join it with other DMVs that expose page information. Um diesen Anwendungsfall zu vereinfachen, wurde eine neue page_resource Spalte namens hinzugefügt, die Seiten Informationen in einem 8-Byte-Hexadezimal Format verfügbar macht.To facilitate this use case, a new column called page_resource has been added which exposes page information in an 8-byte hex format. Diese Spalte wurde zu sys.dm_exec_requests und sys.sysprocesses hinzugefügt und wird in Zukunft nach Bedarf anderen DMVs hinzugefügt.This column has been added to sys.dm_exec_requests and sys.sysprocesses and will be added to other DMVs in the future as needed.

Eine neue Funktion, sys.fn_PageResCracker, übernimmt page_resource als Eingabe und gibt eine einzelne Zeile aus, die database_id, file_id und page_identhält.A new function, sys.fn_PageResCracker, takes the page_resource as input and outputs a single row that contains database_id, file_id and page_id. Diese Funktion kann dann verwendet werden, um Joins zwischen sys.dm_exec_requests oder sys.sysprocesses und sys.dm_db_page_infozu vereinfachen.This function can then be used to facilitate joins between sys.dm_exec_requests or sys.sysprocesses and sys.dm_db_page_info.

BerechtigungenPermissions

Erfordert die VIEW DATABASE STATE -Berechtigung in der Datenbank.Requires the VIEW DATABASE STATE permission in the database.

BeispieleExamples

A.A. Anzeigen aller Eigenschaften einer SeiteDisplaying all the properties of a page

Die folgende Abfrage gibt eine Zeile mit allen Seiten Informationen für eine bestimmte database_idKombination file_idaus page_id ,, mit dem Standardmodus (' Limited ') zurück.The following query returns one row with all the page information for a given database_id, file_id, page_id combination with default mode ('LIMITED')

SELECT *  
FROM sys.dm_db_page_info (5, 1, 15, DEFAULT)

B.B. Verwenden von sys. dm_db_page_info mit anderen DMVsUsing sys.dm_db_page_info with other DMVs

Die folgende Abfrage gibt eine Zeile wait_resource zurück, die sys.dm_exec_requests von verfügbar gemacht wird, wenn die Zeile einen nicht-NULL-Wert enthältpage_resourceThe following query returns one row per wait_resource exposed by sys.dm_exec_requests when the row contains a non-null page_resource

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, 'LIMITED') AS page_info

Weitere InformationenSee Also

Dynamische Verwaltungs Sichten und Funktionen (Transact-SQL-) Dynamic Management Views and Functions (Transact-SQL)
Dynamische Verwaltungs Sichten im Zusammenhang mit der Datenbank (Transact-SQL-) Database Related Dynamic Management Views (Transact-SQL)
sys. dm_exec_requests (Transact-SQL-) sys.dm_exec_requests (Transact-SQL)
sys.fn_PageResCrackersys.fn_PageResCracker