Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure 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 - VARHEAP3 - HASH4 - 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
Verwante inhoud
- Inleiding tot Memory-Optimized tabellen
- Memory-Optimized Dynamische Beheerweergaven van tabellen (Transact-SQL)
- Overzicht en gebruiksscenario's voor OLTP in het geheugen
- Prestaties optimaliseren met behulp van in-memory technologieën in Azure SQL Database
- Prestaties optimaliseren met behulp van in-memory technologieën in Azure SQL Managed Instance