Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2019 (15.x) a novější verze
Databáze Azure SQL Database
Azure SQL Managed Instance
SQL v Microsoft Fabric
Vrátí informace o stránce v databázi. Funkce vrátí jeden řádek, který obsahuje informace záhlaví ze stránky, včetně object_id, index_ida partition_id. Tato funkce nahrazuje potřebu používat DBCC PAGE ve většině případů.
Poznámka:
sys.dm_db_page_info je aktuálně podporován pouze v SQL Serveru 2019 (15.x) a novějším.
Syntaxe
sys.dm_db_page_info ( DatabaseId , FileId , PageId , Mode )
Arguments
Id databáze | NULL | DEFAULT
ID databáze. DatabaseId je smallint. Platným vstupem je číslo ID databáze. Výchozí hodnota je NULL, ale odeslání hodnoty NULL pro tento parametr způsobí chybu.
ID souboru | NULL | VÝCHOZÍ
ID souboru. FileId je int. Platný vstup je číslo ID souboru v databázi určené Id databáze. Výchozí hodnota je NULL, ale odeslání hodnoty NULL pro tento parametr způsobí chybu.
Id stránky | NULL | DEFAULT
ID stránky. PageId je int. Platným vstupem je číslo ID stránky v souboru určeném Id souboru. Výchozí hodnota je NULL, ale odeslání hodnoty NULL pro tento parametr způsobí chybu.
Režim | NULL | VÝCHOZÍ
Určuje úroveň podrobností ve výstupu funkce.
'LIMITED' vrátí hodnoty NULL pro všechny sloupce popisu, "DETAILED" naplní sloupce popisu.
DEFAULT je 'LIMITED'.
Vrácená tabulka
| Název sloupce | Datový typ | Description |
|---|---|---|
| database_id | int | ID databáze. Ve službě Azure SQL Database jsou hodnoty jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru. |
| ID souboru | int | ID souboru |
| page_id | int | ID stránky |
| verze_záhlaví_stránky | int | Verze záhlaví stránky |
| typ_stránky | int | Typ stránky |
| page_type_desc | nvarchar(64) | Popis typu stránky |
| bity_příznaku_typu_stránky | nvarchar(64) | Bity příznaku typu v záhlaví stránky |
| příznaky_bitů_typu_stránky_poznámka | nvarchar(64) | Popis bitů příznaku typu v záhlaví stránky |
| page_flag_bits (bity příznaku stránky) | nvarchar(64) | Bity příznaku v záhlaví stránky |
| popis bitů příznaku stránky | nvarchar(256) | Popis bitů příznaku v záhlaví stránky |
| page_lsn | nvarchar(64) | Pořadové číslo protokolu / časové razítko |
| úroveň stránky | int | Úroveň stránky v indexu (list = 0) |
| object_id | int | ID objektu, který vlastní stránku |
| index_id | int | ID indexu (0 pro datové stránky haldy) |
| ID oddílu | bigint | ID oddílu |
| identifikátor_allocační_jednotky (alloc_unit_id) | bigint | ID alokační jednotky |
| is_encrypted | bit | Bit označující, jestli je stránka zašifrovaná nebo ne |
| má kontrolní součet | bit | Bit označující, jestli má stránka hodnotu kontrolního součtu |
| kontrolní součet | int | Uloží hodnotu kontrolního součtu, která se používá k detekci poškození dat. |
| is_iam_pg | bit | Bit označující, jestli je stránka IAM nebo ne |
| is_mixed_ext | bit | Bit označující, jestli je přiděleno ve smíšeném rozsahu |
| has_ghost_records | bit | Bit označující, jestli stránka obsahuje záznamy duchů Záznam označený k odstranění je záznam, který byl označen k odstranění, ale ještě nebyl odstraněn. |
| má_záznamy_verzí | bit | Bit označující, jestli stránka obsahuje záznamy verzí používané pro akcelerované obnovení databáze |
| pfs_page_id | int | ID stránky odpovídající stránky PFS |
| pfs_is_allocated | bit | Bit označující, jestli je stránka označená jako přidělená na odpovídající stránce PFS |
| pfs_alloc_percent | int | Procento přidělení podle odpovídajícího bajtu PFS |
| pfs_status | nvarchar(64) | Bajt PFS |
| pfs_status_desc | nvarchar(64) | Popis bajtu PFS |
| gam_page_id | int | ID stránky odpovídající stránce GAM |
| gam_status | bit | Bit označující, jestli je přidělen v GAM |
| popis_stavu_hry | nvarchar(64) | Popis bitu stavu GAM |
| sgam_page_id | int | ID stránky odpovídající SGAM stránce |
| sgam_status | bit | Bit označující, zda je přidělen v SGAM |
| sgam_status_desc | nvarchar(64) | Popis statusového bitu SGAM |
| diff_map_page_id | int | ID stránky odpovídající rozdílové bitové mapy |
| stav rozdílu | bit | Bit označující, zda se změnil stav rozdílu |
| popis stavu rozdílu | nvarchar(64) | Popis bitu stavu rozdílu |
| ml_map_page_id | int | ID stránky odpovídající minimální rastrové stránky protokolování |
| ml_status | bit | Bit označující, jestli je stránka minimálně zaprotokolovaná |
| ml_status_desc | nvarchar(64) | Popis minimálního bitu stavu protokolování |
| prev_page_file_id | smallint | ID předchozího stránkového souboru |
| prev_page_page_id | int | ID předchozí stránky |
| next_page_file_id | smallint | ID souboru stránkování dálší stránka |
| next_page_page_id | int | ID další stránky |
| pevná_délka | smallint | Délka řádků s pevnou velikostí |
| počet slotů | smallint | Celkový počet slotů (využitých a nepoužitých) U datové stránky je toto číslo ekvivalentní počtu řádků. |
| ghost_rec_count | smallint | Počet záznamů označených jako neaktivní na stránce Záznam označený k odstranění je záznam, který byl označen k odstranění, ale ještě nebyl odstraněn. |
| free_bytes | smallint | Počet volných bajtů na stránce |
| volný_offset_datových_poctů | int | Posun volného místa na konci datové oblasti |
| reserved_bytes | smallint | Počet bajtů volných a rezervovaných všemi transakcemi (pokud jde o haldu) Počet skrytých řádků (pokud jde o list indexu) |
| reserved_bytes_by_xdes_id | smallint | Prostor přidělený m_xdesID do m_reservedCnt Pouze pro účely ladění |
| xdes_id | nvarchar(64) | Nejnovější transakci přispěl m_reserved Pouze pro účely ladění |
Poznámky
Funkce sys.dm_db_page_info dynamické správy vrací informace, například page_id, file_id, index_idobject_id, atd., které jsou přítomné v záhlaví stránky. Tyto informace jsou užitečné pro odstraňování problémů a ladění různých problémů s výkonem (kolize zámků a západek) a poškození dat.
sys.dm_db_page_info lze použít místo DBCC PAGE příkazu v mnoha případech, ale vrací pouze informace o záhlaví stránky, nikoli text stránky.
DBCC PAGE bude i nadále potřeba pro případy použití, kdy se vyžaduje celý obsah stránky.
Použijte ve spojení s jinými DMV (zobrazeními dynamické správy)
Jedním z důležitých případů použití sys.dm_db_page_info je jeho spojení s jinými DMVs, které poskytují informace o stránce. Pro usnadnění tohoto případu použití byl přidán nový sloupec page_resource , který zveřejňuje informace o stránce v šestnáctkovém formátu 8 bajtů. Tento sloupec byl přidán do sys.dm_exec_requests a sys.sysprocesses a v budoucnu bude přidán do dalších zobrazení dynamické správy podle potřeby.
Nová funkce přebírá sys.fn_PageResCrackerpage_resource jako vstup a vypíše jeden řádek, který obsahuje database_id, file_id a page_id. Tuto funkci pak lze použít k usnadnění spojení mezi sys.dm_exec_requests nebo sys.sysprocesses a sys.dm_db_page_info.
Povolení
VIEW DATABASE STATE Vyžaduje oprávnění v databázi.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU DATABÁZE pro databázi.
Examples
A. Zobrazení všech vlastností stránky
Následující dotaz vrátí jeden řádek se všemi informacemi o stránce pro danou database_id, file_idkombinaci page_id s výchozím režimem ('LIMITED')
SELECT *
FROM sys.dm_db_page_info (5, 1, 15, DEFAULT);
B. Použití sys.dm_db_page_info s dalšími DMV
Následující dotaz vrátí jeden řádek pro každé wait_resource vystavené sys.dm_exec_requests, pokud řádek obsahuje nenulovou hodnotu 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;
Viz také
- zobrazení a funkce dynamické správy (Transact-SQL)
- Zobrazení dynamické správy související s databází (Transact-SQL)
- sys.dm_exec_requests (Transact-SQL)
- sys.fn_PageResCracker