Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Az SQL Server 2019 (15.x) és újabb verziói
az Azure SQL Database
Azure SQL Managed Instance
SQL Database-adatbázist a Microsoft Fabricben
Egy adatbázis lapjára vonatkozó információkat ad vissza. A függvény egy sort ad vissza, amely tartalmazza a lap fejlécadatait, beleértve a , object_idés index_id.partition_id Ez a függvény a legtöbb esetben felülírja a használat DBCC PAGE szükségességét.
Megjegyzés:
sys.dm_db_page_info jelenleg csak az SQL Server 2019 -ben (15.x) és újabb verziókban támogatott.
Szemantika
sys.dm_db_page_info ( DatabaseId , FileId , PageId , Mode )
Arguments
DatabaseId | NULL | ALAPÉRTELMEZETT
Az adatbázis azonosítója. A DatabaseIdsmallint típusú. Az érvényes bemenet az adatbázis azonosítószáma. Az alapértelmezett érték NULL, de ha null értéket küld a paraméterhez, az hibát fog eredményezni.
FileId | NULL | ALAPÉRTELMEZETT
A fájl azonosítója. A FileIdint. Az érvényes bemenet a DatabaseId által megadott adatbázisban lévő fájlok azonosítószáma. Az alapértelmezett érték NULL, de ha null értéket küld a paraméterhez, az hibát fog eredményezni.
PageId | NULL | ALAPÉRTELMEZETT
A lap azonosítója. A PageId egy int. Az érvényes bemenet a FileId által megadott fájlban lévő lap azonosítószáma. Az alapértelmezett érték NULL, de ha null értéket küld a paraméterhez, az hibát fog eredményezni.
Mód | NULL | ALAPÉRTELMEZETT
Meghatározza a függvény kimenetének részletességi szintjét.
'LIMITED' NULL értékeket ad vissza az összes leírási oszlophoz, a "RÉSZLETES" pedig a leírásoszlopokat fogja feltölteni.
DEFAULT az 'LIMITED'.
Visszaadott tábla
| Oszlop név | Adattípus | Description |
|---|---|---|
| database_id | int | Adatbázis-azonosító. Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül. |
| fájl_azonosító | int | Fájlazonosító |
| page_id | int | Oldalazonosító |
| oldal_fejléce_verzió | int | Oldalfej verziója |
| oldal_típus | int | Oldal típusa |
| oldaltípus_leírás | nvarchar(64) | Az oldaltípus leírása |
| oldaltípus_jelző_bitek | nvarchar(64) | Jelölőbitek beírása az oldalfejlécbe |
| page_type_flag_bits_desc | nvarchar(64) | Típusjelző bitek leírása az oldalfejlécben |
| page_flag_bits | nvarchar(64) | Bitek megjelölése az oldalfejlécben |
| page_flag_bits_desc | nvarchar(256) | Bitek megjelölése az oldalfejlécben |
| page_lsn | nvarchar(64) | Naplósorszám / időbélyeg |
| oldalszint | int | Az oldal szintje az indexben (leaf = 0) |
| object_id | int | Az oldalt birtokoló objektum azonosítója |
| index_id | int | Az index azonosítója (halom adatoldalak esetén 0) |
| partíció_azonosító | bigint | A partíció azonosítója |
| allokációs_egység_id | bigint | A foglalási egység azonosítója |
| titkosítva_van | bit | Bit, amely jelzi, hogy a lap titkosítva van-e |
| ellenőrzőösszeg_van | bit | Bit annak jelzéséhez, hogy a lap rendelkezik-e ellenőrzőösszeg-értékkel |
| ellenőrzőösszeg | int | Tárolja az adatsérülés észleléséhez használt ellenőrzőösszeg-értéket |
| is_iam_pg | bit | Bit, amely jelzi, hogy a lap IAM-lap-e vagy sem |
| is_mixed_ext | bit | Bit, amely jelzi, hogy vegyes kiterjedésben van-e lefoglalva |
| van_kísértet_rekordok | bit | Bit, amely jelzi, hogy a lap tartalmaz-e szellemrekordokat A szellemes rekord olyan rekord, amely törlésre lett megjelölve, de még nem lett eltávolítva. |
| verziórekordokkal rendelkezik | bit | Bit, amely jelzi, hogy a lap tartalmazza-e a gyorsított adatbázis-helyreállításhoz használt verziórekordokat |
| pfs_page_id | int | A megfelelő PFS-oldal oldalazonosítója |
| pfs_is_allocated (használva van) | bit | Bit annak jelzéséhez, hogy a lap a megfelelő PFS-lapon lefoglaltként van-e megjelölve |
| pfs_alloc_percent | int | Foglalási százalék a megfelelő PFS-bájt által jelzett módon |
| pfs_status | nvarchar(64) | PFS bájt |
| pfs_status_desc | nvarchar(64) | A PFS-bájt leírása |
| gam_page_id | int | A megfelelő GAM-oldal oldalazonosítója |
| gam_status | bit | A GAM-ben található bit jelzi, hogy ki van-e foglalva. |
| gam_állapot_leírás | nvarchar(64) | A GAM állapotbitjének leírása |
| sgam_page_id | int | A megfelelő SGAM-oldal oldalazonosítója |
| sgam_status | bit | Bit, amely jelzi, hogy ki van-e foglalva az SGAM-ben |
| sgam_status_desc | nvarchar(64) | Az SGAM állapotbitjének leírása |
| diff_map_page_id | int | A megfelelő különbségi bitkép oldalazonosítója |
| diff_status | bit | Bit, amely jelzi, hogy a diff állapota módosult-e |
| különbség_állapot_leírás | nvarchar(64) | A diff állapotbit leírása |
| ml_térkép_oldal_azonosító | int | A megfelelő minimális naplózási bitkép oldalazonosítója |
| ml_status | bit | Bit, amely jelzi, hogy a lap minimálisan van-e naplózva |
| ml_status_desc | nvarchar(64) | A minimális naplózási állapotbit leírása |
| prev_page_file_id | smallint | Előző lap fájlazonosítója |
| prev_page_page_id | int | Előző oldal oldalazonosítója |
| next_page_file_id | smallint | Következő lap fájlazonosítója |
| next_page_page_id | int | Következő oldal oldalazonosítója |
| fixed_length | smallint | Rögzített méretű sorok hossza |
| foglalathely_szám | smallint | Pontok teljes száma (használatban és használaton kívül) Adatoldalak esetén ez a szám egyenértékű a sorok számával. |
| kísértetrekordok_száma | smallint | A lapon szellemként megjelölt rekordok száma A szellemes rekord olyan rekord, amely törlésre lett megjelölve, de még nem lett eltávolítva. |
| szabad_bájtok | smallint | Az oldalon található szabad bájtok száma |
| szabad_adat_eltolás | int | Szabad terület eltolása az adatterület végén |
| reserved_bytes | smallint | Az összes tranzakció által fenntartott szabad bájtok száma (ha halom) Szellemes sorok száma (ha indexlevél) |
| reserved_bytes_by_xdes_id | smallint | A m_xdesID által hozzájárult tér a m_reservedCnt-hez Csak hibakeresési célokra |
| xdes_id | nvarchar(64) | A m_reserved által hozzájárult legutóbbi tranzakció Csak hibakeresési célokra |
Megjegyzések
A sys.dm_db_page_info dinamikus felügyeleti függvény olyan információkat ad vissza, mint page_ida , file_id, index_id, object_idstb., amelyek egy oldalfejlécben találhatók. Ez az információ hasznos a különböző teljesítménybeli hibák (zárolási és reteszelési) és sérülési problémák hibaelhárításához és hibakereséséhez.
sys.dm_db_page_info az utasítás helyett DBCC PAGE sok esetben használható, de csak az oldalfejléc adatait adja vissza, nem az oldal törzsét.
DBCC PAGE továbbra is szükség lesz az olyan használati esetekre, amikor a lap teljes tartalmára szükség van.
Használat más DMV-kkel együtt
Az egyik fontos használati eset sys.dm_db_page_info összekapcsolása más DMV-kkel, amelyek lapinformációkat tárnak fel. A használati eset megkönnyítése érdekében hozzáadtunk egy új, úgynevezett page_resource oszlopot, amely 8 bájtos hexadecimális formátumban teszi elérhetővé az oldaladatokat. Ezt az oszlopot hozzáadták sys.dm_exec_requests és sys.sysprocesses-hez, és a jövőben szükség szerint hozzá fogják adni a többi DMV-hez.
Egy új függvény, sys.fn_PageResCracker, bemenetként kapja meg a page_resource-t, és egyetlen sort ad ki, amely tartalmazza a következőt: database_id, file_id és page_id. A függvény használható az sys.dm_exec_requests, sys.sysprocesses és sys.dm_db_page_info közötti illesztések megkönnyítésére.
Permissions
Az adatbázis engedélyére VIEW DATABASE STATE van szükség.
Engedélyek az SQL Server 2022-hez és újabb verziókhoz
A VIEW DATABASE PERFORMANCE STATE engedélyre van szüksége az adatbázisban.
Példák
A. A lap összes tulajdonságának megjelenítése
Az alábbi lekérdezés egy sort ad vissza az összes database_id, file_id, page_id kombinációjára vonatkozó lapinformációkkal, alapértelmezett módban ('LIMITED').
SELECT *
FROM sys.dm_db_page_info (5, 1, 15, DEFAULT);
B. A sys.dm_db_page_info használata más DMV-kkel
Az alábbi lekérdezés egy sort wait_resource ad vissza, sys.dm_exec_requests ha a sor nem null értéket tartalmaz 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;