sys.dm_db_xtp_memory_consumers (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Melaporkan konsumen memori tingkat database di mesin database OLTP Dalam Memori. Tampilan mengembalikan baris untuk setiap konsumen memori yang digunakan mesin database. Gunakan DMV ini untuk melihat bagaimana memori didistribusikan di berbagai objek internal.

Untuk informasi selengkapnya, lihat Gambaran umum dan skenario penggunaan OLTP Dalam Memori.

Catatan

Output tampilan manajemen dinamis sistem ini mungkin berbeda, tergantung pada versi SQL Server yang diinstal.

Nama kolom Jenis data Deskripsi
memory_consumer_id bigint ID (internal) konsumen memori.
memory_consumer_type int Jenis konsumen memori:

0 = Agregasi. (Mengagregasi penggunaan memori dua atau lebih konsumen. Ini tidak boleh ditampilkan.)

2 = VARHEAP (Melacak konsumsi memori untuk timbunan panjang variabel.)

3 = HASH (Melacak konsumsi memori untuk indeks.)

4 = PGPOOL (kumpulan halaman DB: Melacak konsumsi memori untuk kumpulan halaman database yang digunakan untuk operasi runtime. Misalnya, variabel tabel dan beberapa pemindaian yang dapat diserialisasikan. Hanya ada satu konsumen memori jenis ini per database.)
memory_consumer_type_desc nvarchar(64) Jenis konsumen memori: VARHEAP, , HASHatau PGPOOL.

0 - (Tidak boleh ditampilkan)
2- VARHEAP
3- HASH
4- PGPOOL
memory_consumer_desc nvarchar(64) Deskripsi instans konsumen memori. Untuk informasi selengkapnya, tinjau tabel berikut ini.
object_id bigint ID objek tempat memori yang dialokasikan diatribusikan. Nilai negatif untuk objek sistem.
xtp_object_id bigint ID objek OLTP Dalam Memori yang sesuai dengan tabel yang dioptimalkan memori.
index_id int ID indeks konsumen (jika ada). NULL untuk tabel dasar.
allocated_bytes bigint Jumlah byte yang dicadangkan untuk konsumen ini.
used_bytes bigint Byte yang digunakan oleh konsumen ini. Hanya berlaku untuk VARHEAP.
allocation_count int Jumlah alokasi.
partition_count int Penggunaan internal saja.
sizeclass_count int Penggunaan internal saja.
min_sizeclass int Penggunaan internal saja.
max_sizeclass int Penggunaan internal saja.
memory_consumer_address varbinary Alamat internal konsumen. Hanya untuk penggunaan internal.

Tabel berikut ini menjelaskan konsumen memori yang ditentukan dalam memory_consumer_type kolom:

Konsumen memori Deskripsi Jenis
256K page pool Kumpulan memori yang digunakan selama aktivitas titik pemeriksaan. PGPOOL
4K page pool Kumpulan memori yang digunakan selama aktivitas titik pemeriksaan. PGPOOL
Checkpoint table Penggunaan internal saja. VARHEAP
Ckpt file table Penggunaan internal saja. VARHEAP
Ckpt file watermark table Penggunaan internal saja. VARHEAP
Database internal heap Digunakan untuk mengalokasikan data database yang disertakan dalam cadangan memori, dan tidak menyertakan data pengguna. VARHEAP
Database user heap Digunakan untuk mengalokasikan data pengguna untuk database (baris). VARHEAP
Encryption table Penggunaan internal saja. VARHEAP
Hash index Melacak konsumsi memori untuk indeks. object_id menunjukkan tabel dan index_id indeks hash itu sendiri. HASH
Large Rows File table Penggunaan internal saja. VARHEAP
LOB Page Allocator Memori timbunan yang digunakan oleh baris besar. VARHEAP
Logical range index partition table Penggunaan internal saja. VARHEAP
Logical root fragment table Penggunaan internal saja. VARHEAP
Logical Root table Penggunaan internal saja. VARHEAP
Logical Sequence Object table Penggunaan internal saja. VARHEAP
Physical range index partition table Penggunaan internal saja. VARHEAP
Physical root fragment table Penggunaan internal saja. VARHEAP
Physical Root table Penggunaan internal saja. VARHEAP
Physical Sequence object table Penggunaan internal saja. VARHEAP
Range index heap Timbunan privat yang digunakan oleh indeks rentang untuk mengalokasikan halaman pohon Bw. VARHEAP
Storage internal heap Penggunaan internal saja. VARHEAP
Storage user heap Penggunaan internal saja. VARHEAP
Table heap Memori timbunan yang digunakan oleh tabel Dalam Memori. VARHEAP
Tail cache 256K page pool Penggunaan internal saja. PGPOOL
Tx Segment table Penggunaan internal saja. VARHEAP

Keterangan

Ketika tabel yang dioptimalkan memori memiliki indeks penyimpan kolom, sistem menggunakan beberapa tabel internal, yang menggunakan beberapa memori, untuk melacak data untuk indeks penyimpan kolom. Untuk detail tentang tabel internal dan kueri sampel ini yang menunjukkan konsumsi memorinya, lihat sys.memory_optimized_tables_internal_attributes (Transact-SQL).

Izin

Semua baris dikembalikan jika Anda memiliki izin TAMPILKAN STATUS DATABASE pada database saat ini. Jika tidak, kumpulan baris kosong dikembalikan.

Jika Anda tidak memiliki izin LIHAT DATABASE, semua kolom dikembalikan untuk baris dalam tabel tempat Anda memiliki izin SELECT.

Pada SQL Server 2019 (15.x) dan versi sebelumnya, tabel sistem dikembalikan hanya untuk pengguna dengan izin TAMPILKAN STATUS DATABASE.

Untuk SQL Server 2022 (16.x) dan versi yang lebih baru, Anda memerlukan izin TAMPILKAN STATUS PERFORMA DATABASE pada database.

Contoh

Mengkueri konsumen memori dalam database saat ini

Jalankan kueri berikut terhadap database sampel WideWorldImporters , yang berisi tabel yang dioptimalkan memori:

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;

Berikut adalah hasil yang ditetapkan.

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

Total memori yang dialokasikan dan digunakan dari DMV ini sama dengan tingkat objek dalam 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;

Berikut adalah hasil yang ditetapkan.

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