Megosztás a következőn keresztül:


sys.dm_os_memory_objects (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Visszaadja azokat a memóriaobjektumokat, amelyeket jelenleg az SQL Server foglal el. Használhatod sys.dm_os_memory_objects memóriahasználat elemzésére és lehetséges memóriaszivárgások azonosítására.

Megjegyzés:

Ezt Azure Synapse Analytics vagy Analytics Platform System (PDW) néven lehet használni a sys.dm_pdw_nodes_os_memory_objects. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Oszlop név Adattípus Description
memory_object_address varbinary(8) A memóriaobjektum címe. Nem lehet null értékű.
parent_address varbinary(8) Az parent memory object címe. Null értékű.
pages_allocated_count int A következőkre vonatkozik: SQL Server 2008 (10.0.x) és SQL Server 2008 R2 (10.50.x).

Az objektum által kijelölt oldalak száma. Nem lehet null értékű.
pages_in_bytes bigint A következővonatkozik: SQL Server 2012 (11.x) és újabb.

A memória mennyisége bájtokban, amelyet ez a memóriaobjektum példánya foglal el. Nem lehet null értékű.
creation_options int Csak belső használatra. Null értékű.
bytes_used bigint Csak belső használatra. Null értékű.
type nvarchar(60) Memóriaobjektum típusa.

Ez azt jelzi, hogy ez a memóriaobjektum egy komponenshez tartozik, vagy a memóriaobjektum függvényét. Null értékű.
név varchar(128) Csak belső használatra. Nullable.
memory_node_id smallint Egy memóriacsomópont azonosítója, amelyet ez a memóriaobjektum használ. Nem lehet null értékű.
creation_time datetime Csak belső használatra. Null értékű.
max_pages_allocated_count int A következőkre vonatkozik: SQL Server 2008 (10.0.x) és SQL Server 2008 R2 (10.50.x).

A memóriaobjektum által maximális oldalszám. Nem lehet null értékű.
page_size_in_bytes int A következővonatkozik: SQL Server 2012 (11.x) és újabb.

Az oldalok mérete bájtokban, amelyeket ez az objektum kap. Nem lehet null értékű.
max_pages_in_bytes bigint Ez a memóriaobjektum által valaha használt maximális memória. Nem lehet null értékű.
page_allocator_address varbinary(8) Az oldalkijelölő memóriacíme. Nem lehet null értékű. További információért lásd a sys.dm_os_memory_clerks (Transact-SQL) oldalt.
creation_stack_address varbinary(8) Csak belső használatra. Null értékű.
sequence_num int Csak belső használatra. Null értékű.
partition_type int Az: SQL Server 2016 (13.x) és újabb verziókra vonatkozik.

A partíció típusa:

0 - Nem felosztható memóriaobjektum

1 - Felosztható memóriaobjektum, jelenleg nincs felosztva

2 - Partíciós memóriaobjektum, amelyet NUMA csomópont oszt fel. Egy NUMA csomóponttal rendelkező környezetben ez egyenértékű 1-gyel.

3 - Felosztható memóriaobjektum, CPU által partíciózva.
contention_factor valódi Az: SQL Server 2016 (13.x) és újabb verziókra vonatkozik.

Egy érték, amely megjelöli a vitatást ezen a memóriaobjektumon, ahol 0 azt jelenti, hogy nincs vita. Az értéket frissítik, amikor meghatározott számú memória allokációt végeztek, ami tükrözi az adott időszak alatt zajló vitatkoztatásokat. Csak a szálbiztonsági memóriaobjektumokra vonatkozik.
waiting_tasks_count bigint Az: SQL Server 2016 (13.x) és újabb verziókra vonatkozik.

A memóriaobjektum várakozásainak száma. Ez a számláló növeli a memóriát minden egyes memóriát ezen a memóriaobjektum részéről. Az increment a jelenleg elérhető feladat száma, amely a memóriaobjektumhoz vár. Csak a szálbiztonsági memóriaobjektumokra vonatkozik. Ez egy legjobb erőfeszítés értéke helyességi garancia nélkül.
exclusive_access_count bigint Az: SQL Server 2016 (13.x) és újabb verziókra vonatkozik.

Megadja, hogy milyen gyakran volt hozzáférés ehhez a memóriaobjektumhoz kizárólag kizárólagosan. Csak a szálbiztonsági memóriaobjektumokra vonatkozik. Ez egy legjobb erőfeszítés értéke helyességi garancia nélkül.
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ó.

Az partition_type, contention_factor, waiting_tasks_count és exclusive_access_count még nincsenek megvalósítva az SQL Database-ben.

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

A memóriaobjektumok rengetegetőek. Ezek olyan részletességet biztosítanak, amelyek finomabb részletességűek, mint a memória tisztviselők által biztosítottak. Az SQL Server komponensei memóriaobjektumokat használnak memória dolgozók helyett. A memóriaobjektumok a memória jegyző oldalallokátor interfészét használják az oldalak kijelöléséhez. A memóriaobjektumok nem használnak virtuális vagy megosztott memória interfészeket. Az allokációs mintázatoktól függően a komponensek különböző típusú memóriaobjektumokat hozhatnak létre, amelyek tetszőleges méretű régiókat osztanak ki.

Egy memóriaobjektum tipikus oldalmérete 8 KB. Azonban a inkrementális memóriaobjektumok oldalmérete lehet 512 bájttól 8 KB-ig.

Megjegyzés:

Az oldalméret nem maximális kiosztás. Ehelyett az oldalméret az allokációs granularitás, amelyet egy oldalalosztó támogat, és amelyet memória kezelő valósít meg. 8 KB-nál nagyobb allokációkat kérhetsz memóriaobjektumoktól.

Példák

A következő példa adja vissza az egyes memóriaobjektumtípusok által kijelölt memória mennyiségét.

SELECT SUM (pages_in_bytes) as 'Bytes Used', type   
FROM sys.dm_os_memory_objects  
GROUP BY type   
ORDER BY 'Bytes Used' DESC;  
GO  

Lásd még

SQL Server operációs rendszerhez kapcsolódó dinamikus felügyeleti nézetek (Transact-SQL)
sys.dm_os_memory_clerks (Transact-SQL)