Delen via


sys.dm_db_xtp_memory_consumers (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Rapporteert de geheugengebruikers op databaseniveau in de In-Memory OLTP-database-engine. De weergave geeft een rij terug voor elke geheugengebruiker die de database-engine gebruikt. Gebruik deze DMV om te zien hoe het geheugen verdeeld is over verschillende interne objecten.

Zie In-Memory OLTP-overzicht en gebruiksscenario's voor meer informatie.

Opmerking

De output van deze systeemdynamische beheerweergave kan verschillen, afhankelijk van de geïnstalleerde versie van SQL Server.

Kolomnaam Gegevenstype Description
memory_consumer_id bigint ID (intern) van de geheugenconsument.
memory_consumer_type int Het type geheugenverbruiker:

0 = Aggregatie. (Verzamelt het geheugengebruik van twee of meer consumenten. Het zou niet getoond moeten worden.)

2 = VARHEAP (Houdt geheugenverbruik bij voor een heap met variabele lengte.)

3 = HASH (Houdt geheugenverbruik bij voor een index.)

4 = PGPOOL (DB page pool: Houdt het geheugenverbruik bij voor een databasepaginapool die wordt gebruikt voor runtime-operaties. Bijvoorbeeld tabelvariabelen en enkele serialiseerbare scans. Er is slechts één geheugengebruiker van dit type per database.)
memory_consumer_type_desc nvarchar(64) Type geheugenverbruiker: VARHEAP, HASH, of PGPOOL.

0 - (Zou niet weergegeven moeten worden)
2 - VARHEAP
3 - HASH
4 - PGPOOL
memory_consumer_desc nvarchar(64) Beschrijving van de geheugen-consumenteninstantie. Voor meer informatie, bekijk de onderstaande tabel.
object_id bigint De object-ID waaraan het toegewezen geheugen wordt toegeschreven. Een negatieve waarde voor systeemobjecten.
xtp_object_id bigint De In-Memory OLTP-object-ID die overeenkomt met de geheugengeoptimaliseerde tabel.
index_id int De index-ID van de consument (indien aanwezig). NULL voor basistabellen.
allocated_bytes bigint Het aantal bytes dat is gereserveerd voor deze consument.
used_bytes bigint Bytes die door deze consument worden gebruikt. Is alleen van toepassing op VARHEAP.
allocation_count int Aantal toewijzingen.
partition_count int Alleen intern gebruik.
sizeclass_count int Alleen intern gebruik.
min_sizeclass int Alleen intern gebruik.
max_sizeclass int Alleen intern gebruik.
memory_consumer_address varbinary Intern adres van de consument. Alleen voor intern gebruik.

De volgende tabel beschrijft de geheugengebruikers die in de memory_consumer_type kolom zijn gespecificeerd:

Geheugenverbruiker Description Typologie
256K page pool Geheugenpool gebruikt tijdens checkpoint-activiteit. PGPOOL
4K page pool Geheugenpool gebruikt tijdens checkpoint-activiteit. PGPOOL
Checkpoint table Alleen intern gebruik. VARHEAP
Ckpt file table Alleen intern gebruik. VARHEAP
Ckpt file watermark table Alleen intern gebruik. VARHEAP
Database internal heap Gebruikt om databasegegevens toe te wijzen die in geheugendumps zijn opgenomen, en geen gebruikersgegevens. VARHEAP
Database user heap Gebruikt om gebruikersgegevens toe te wijzen aan een database (rijen). VARHEAP
Encryption table Alleen intern gebruik. VARHEAP
Hash index Houdt het geheugenverbruik bij voor een index. De object_id geeft de tabel en de van index_id de hashindex zelf aan. HASH
Large Rows File table Alleen intern gebruik. VARHEAP
LOB Page Allocator Heapgeheugen dat wordt gebruikt door grote rijen. VARHEAP
Logical range index partition table Alleen intern gebruik. VARHEAP
Logical root fragment table Alleen intern gebruik. VARHEAP
Logical Root table Alleen intern gebruik. VARHEAP
Logical Sequence Object table Alleen intern gebruik. VARHEAP
Physical range index partition table Alleen intern gebruik. VARHEAP
Physical root fragment table Alleen intern gebruik. VARHEAP
Physical Root table Alleen intern gebruik. VARHEAP
Physical Sequence object table Alleen intern gebruik. VARHEAP
Range index heap Privéheap gebruikt door de range index om Bw-treepagina's toe te wijzen. VARHEAP
Storage internal heap Alleen intern gebruik. VARHEAP
Storage user heap Alleen intern gebruik. VARHEAP
Table heap Heapgeheugen dat door In-Memory tabellen wordt gebruikt. VARHEAP
Tail cache 256K page pool Alleen intern gebruik. PGPOOL
Tx Segment table Alleen intern gebruik. VARHEAP

Opmerkingen

Wanneer een geheugengeoptimaliseerde tabel een columnstore-index heeft, gebruikt het systeem enkele interne tabellen, die wat geheugen verbruiken, om gegevens voor de columnstore-index bij te houden. Voor details over deze interne tabellen en voorbeeldzoekopdrachten die hun geheugenverbruik tonen, zie sys.memory_optimized_tables_internal_attributes (Transact-SQL).

Permissions

Alle rijen worden teruggegeven als je de toestemming hebt VIEW DATABASE STATE op de huidige database. Anders wordt een lege rijset teruggegeven.

Als je geen VIEW DATABASE-perspectief hebt, worden alle kolommen teruggegeven voor rijen in tabellen waarop je SELECT-toestemming hebt.

Op SQL Server 2019 (15.x) en eerdere versies worden systeemtabellen alleen teruggegeven voor gebruikers met de toestemming VIEW DATABASE STATE.

Voor SQL Server 2022 (16.x) en latere versies heb je toestemming VIEW DATABASE PERFORMANCE STATE op de database nodig.

Voorbeelden

Geheugengebruikers in de huidige database

Voer de volgende query uit op de voorbeelddatabase WideWorldImporters , die geheugengeoptimaliseerde tabellen bevat:

SELECT CONVERT(CHAR(10), OBJECT_NAME(object_id)) AS Name,
    memory_consumer_type_desc,
    memory_consumer_desc,
    object_id,
    index_id,
    allocated_bytes,
    used_bytes
FROM sys.dm_db_xtp_memory_consumers;

Hier is het resultatenoverzicht.

Name       memory_consumer_type_desc memory_consumer_desc                   object_id   index_id    allocated_bytes      used_bytes
---------- ------------------------- -------------------------------------- ----------- ----------- ----------------- ------------
NULL       VARHEAP                   Range index heap                       -15         1           131072               176
NULL       VARHEAP                   Physical range index partition table   -15         NULL        0                    0
NULL       VARHEAP                   Range index heap                       -14         2           131072               192
NULL       VARHEAP                   Range index heap                       -14         1           131072               208
NULL       VARHEAP                   Large Rows File table                  -14         NULL        0                    0
NULL       HASH                      Hash index                             -13         1           2048                 2048
NULL       VARHEAP                   Encryption table                       -13         NULL        0                    0
NULL       HASH                      Hash index                             -10         2           32768                32768
NULL       HASH                      Hash index                             -10         1           32768                32768
NULL       VARHEAP                   Tx Segment table                       -10         NULL        65536                544
NULL       HASH                      Hash index                             -11         1           32768                32768
NULL       VARHEAP                   Checkpoint table                       -11         NULL        131072               320
NULL       HASH                      Hash index                             -12         1           8192                 8192
NULL       VARHEAP                   Ckpt file table                        -12         NULL        131072               3120
NULL       HASH                      Hash index                             -9          1           2048                 2048
NULL       VARHEAP                   Ckpt file watermark table              -9          NULL        131072               1280
NULL       VARHEAP                   Range index heap                       -7          1           262144               976
NULL       VARHEAP                   Physical Sequence Object table         -7          NULL        65536                864
NULL       HASH                      Hash index                             -3          1           2048                 2048
NULL       VARHEAP                   Physical root fragment table           -3          NULL        0                    0
NULL       HASH                      Hash index                             0           2           8192                 8192
NULL       HASH                      Hash index                             0           1           32768                32768
NULL       VARHEAP                   Physical Root table                    NULL        NULL        327680               12160
NULL       PGPOOL                    Tail cache 256K page pool              0           NULL        262144               262144
NULL       PGPOOL                    256K page pool                         0           NULL        35389440             18874368
NULL       PGPOOL                    64K page pool                          0           NULL        131072               65536
NULL       PGPOOL                    4K page pool                           0           NULL        49152                40960
NULL       VARHEAP                   Storage internal heap                  NULL        NULL        786432               4816
NULL       VARHEAP                   Storage user heap                      NULL        NULL        262144               22496
ColdRoomTe VARHEAP                   Range index heap                       1179151246  3           196608               800
ColdRoomTe VARHEAP                   Range index heap                       1179151246  2           196608               800
memory_opt VARHEAP                   Range index heap                       1211151360  2           131072               208
VehicleTem VARHEAP                   Range index heap                       1243151474  2           11796480             1181824
ColdRoomTe VARHEAP                   Table heap                             1179151246  NULL        65536                384
memory_opt VARHEAP                   Table heap                             1211151360  NULL        0                    0
VehicleTem VARHEAP                   Table heap                             1243151474  NULL        33423360             32802112
VehicleTem VARHEAP                   Range index heap                       1243151474  2           131072               160
VehicleTem VARHEAP                   LOB Page Allocator                     1243151474  NULL        0                    0
VehicleTem VARHEAP                   Table heap                             1243151474  NULL        0                    0
NULL       VARHEAP                   Range index heap                       -15         1           327680               176
NULL       VARHEAP                   Logical range index partition table    -15         NULL        0                    0
NULL       HASH                      Hash index                             -7          1           32768                32768
NULL       VARHEAP                   Logical Sequence Object table          -7          NULL        65536                600
NULL       HASH                      Hash index                             -3          1           2048                 2048
NULL       VARHEAP                   Logical root fragment table            -3          NULL        0                    0
NULL       HASH                      Hash index                             0           1           32768                32768
NULL       VARHEAP                   Logical Root table                     NULL        NULL        327680               11120
NULL       PGPOOL                    Tail cache 256K page pool              0           NULL        262144               0
NULL       PGPOOL                    256K page pool                         0           NULL        10485760             0
NULL       PGPOOL                    64K page pool                          0           NULL        131072               0
NULL       PGPOOL                    4K page pool                           0           NULL        32768                0
NULL       VARHEAP                   Database internal heap                 NULL        NULL        1048576              8016
NULL       VARHEAP                   Database user heap                     NULL        NULL        65536                1024

Het totale geheugen dat door deze DMV is toegewezen en gebruikt, is hetzelfde als het objectniveau in sys.dm_db_xtp_table_memory_stats.

SELECT SUM(allocated_bytes) / (1024 * 1024) AS total_allocated_MB,
    SUM(used_bytes) / (1024 * 1024) AS total_used_MB
FROM sys.dm_db_xtp_memory_consumers;

Hier is het resultatenoverzicht.

total_allocated_MB total_used_MB
------------------ --------------------
92                 51