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.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Információt ad vissza az összes jelenleg az SQL Server puffermedben lévő adatlapról. Ennek a nézetnek a kimenete segítségével meghatározható az adatbázis oldalak eloszlása a puffermedencében adatbázis, objektum vagy típus szerint. Az SQL Serverben ez a dinamikus menedzsment nézet a buffer pool kiterjesztésfájlban található adatoldalakról is visszaad információt. További információért lásd: Buffer Pool Extension.
Amikor egy adatlapot olvasnak a lemezről, az oldalt az SQL Server pufferkészletébe másolják, és újrahasznosításra gyorsatározzák őket. Minden gyorsítótározott adatlapnak van egy pufferleírója. A pufferleírók egyedileg azonosítják az egyes adatoldalakat, amelyek jelenleg egy SQL Server példányban van gyorsatárázva. sys.dm_os_buffer_descriptors minden felhasználói és rendszeradatbázis számára gyorsítótározott oldalakat ad. Ez magában foglalja azokat az oldalakat is, amelyek az Erőforrás adatbázishoz kapcsolódnak.
Megjegyzés:
Az Azure Synapse Analytics vagy Analytics Platform System (PDW) néven használjuk a sys.dm_pdw_nodes_os_buffer_descriptors nevet. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
| Oszlop név | Adattípus | Description |
|---|---|---|
| database_id | int | Az oldalhoz tartozó adatbázis azonosítója a puffermedencében. Null értékű. 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 | Az oldal tartós képét tároló fájl azonosítója. Null értékű. |
| page_id | int | Az oldal azonosítója a fájlban. Null értékű. |
| page_level | int | Az oldal index szintje. Null értékű. |
| allocation_unit_id | bigint | Az oldal allokációs egységének azonosítója. Ez az érték felhasználható sys.allocation_units összekapcsolására. Null értékű. |
| page_type | nvarchar(60) | Az oldal típusa, például: Adatlapot vagy Indexoldalt. Null értékű. |
| row_count | int | A sor száma az oldalon. Null értékű. |
| free_space_in_bytes | int | Az oldalon elérhető szabad hely mennyisége, bájtokban. Null értékű. |
| is_modified | bit | 1 = Az oldalt módosították, miután felolvasták a lemezről. Null értékű. |
| numa_node | int | Nem egységes memória hozzáférés csomópont a pufferhez. Null értékű. |
| read_microsec | bigint | Az a tényleges idő (mikroszekundumokban), ami az oldal pufferbe való felolvasásához szükséges. Ez a szám akkor nullálódik, amikor a puffert újra felhasználjuk. Null értékű. |
| is_in_bpool_extension | bit | 1 = Az oldal a buffer pool kiterjesztésben van. Null értékű. |
| pdw_node_id | int |
A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW) Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található. |
Permissions
Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.
Az SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.
Engedélyek az SQL Server 2022-hez és újabb verziókhoz
A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.
Megjegyzések
sys.dm_os_buffer_descriptors olyan oldalakat ad vissza, amelyeket az Erőforrás-adatbázis használ. sys.dm_os_buffer_descriptors nem küld vissza információkat ingyenes vagy ellopott oldalakról, illetve olyan oldalakról, amelyekben hibák voltak olvasáskor.
| Ettől kezdve | Há | On | Kapcsolat |
|---|---|---|---|
| sys.dm_os_buffer_descriptors | sys.databases | database_id | több az egyhez |
| sys.dm_os_buffer_descriptors | <userdb>.sys.allocation_units | allocation_unit_id | több az egyhez |
| sys.dm_os_buffer_descriptors | <userdb>.sys.database_files | fájl_azonosító | több az egyhez |
| sys.dm_os_buffer_descriptors | sys.dm_os_buffer_pool_extension_configuration | fájl_azonosító | több az egyhez |
Példák
A. Minden adatbázishoz vissza a gyorsítótározott oldalszám
A következő példa adja vissza az adatbázisokhoz betöltött oldalak számát.
SELECT COUNT(*)AS cached_pages_count
,CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE db_name(database_id)
END AS database_name
FROM sys.dm_os_buffer_descriptors
GROUP BY DB_NAME(database_id) ,database_id
ORDER BY cached_pages_count DESC;
B. A jelenlegi adatbázis minden objektumának gyorsítótározott oldalszámának visszaállítása
A következő példa adja vissza az aktuális adatbázis minden objektumához betöltött oldalak számát.
SELECT COUNT(*)AS cached_pages_count
,name ,index_id
FROM sys.dm_os_buffer_descriptors AS bd
INNER JOIN
(
SELECT object_name(object_id) AS name
,index_id ,allocation_unit_id
FROM sys.allocation_units AS au
INNER JOIN sys.partitions AS p
ON au.container_id = p.hobt_id
AND (au.type = 1 OR au.type = 3)
UNION ALL
SELECT object_name(object_id) AS name
,index_id, allocation_unit_id
FROM sys.allocation_units AS au
INNER JOIN sys.partitions AS p
ON au.container_id = p.partition_id
AND au.type = 2
) AS obj
ON bd.allocation_unit_id = obj.allocation_unit_id
WHERE database_id = DB_ID()
GROUP BY name, index_id
ORDER BY cached_pages_count DESC;
Lásd még
sys.allocation_units (Transact-SQL)
SQL Server operációs rendszerhez kapcsolódó dinamikus felügyeleti nézetek (Transact-SQL)
Erőforrás-adatbázis
sys.dm_os_buffer_pool_extension_configuration (Transact-SQL)