sys.dm_db_xtp_memory_consumers(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

메모리 내 OLTP 데이터베이스 엔진에서 데이터베이스 수준 메모리 소비자를 보고합니다. 뷰는 데이터베이스 엔진에서 사용하는 각 메모리 소비자에 대한 행을 반환합니다. 이 DMV를 사용하여 메모리가 여러 내부 개체에 분산되는 방식을 확인합니다.

자세한 내용은 메모리 내 OLTP 개요 및 사용 시나리오를 참조하세요.

참고 항목

이 시스템 동적 관리 뷰의 출력은 설치된 SQL Server 버전에 따라 다를 수 있습니다.

열 이름 데이터 형식 설명
memory_consumer_id bigint 메모리 소비자의 ID(내부)입니다.
memory_consumer_type int 메모리 소비자의 유형:

0 = 집계입니다. (둘 이상의 소비자의 메모리 사용량을 집계합니다. 표시해서는 안 됩니다.)

2 = VARHEAP (가변 길이 힙의 메모리 사용량을 추적합니다.)

3 = HASH (인덱스 메모리 사용량을 추적합니다.)

4 = PGPOOL (DB 페이지 풀: 런타임 작업에 사용되는 데이터베이스 페이지 풀의 메모리 사용량을 추적합니다. 예를 들어 테이블 변수 및 일부 직렬화 가능한 검사입니다. 이 유형의 메모리 소비자는 데이터베이스당 하나뿐입니다.)
memory_consumer_type_desc nvarchar(64) 메모리 소비자 유형: VARHEAP, HASH또는 PGPOOL.

0 - (표시 안 됨)
2 - VARHEAP
3- HASH
4- PGPOOL
memory_consumer_desc nvarchar(64) 메모리 소비자 인스턴스에 대한 설명입니다. 자세한 내용은 다음 표를 검토하세요.
object_id bigint 할당된 메모리의 특성이 지정된 개체 ID입니다. 시스템 개체의 음수 값입니다.
xtp_object_id bigint 메모리 최적화 테이블에 해당하는 메모리 내 OLTP 개체 ID입니다.
index_id int 소비자의 인덱스 ID입니다(있는 경우). 기본 테이블의 경우 NULL입니다.
allocated_bytes bigint 이 소비자에 대해 예약된 바이트 수입니다.
used_bytes bigint 이 소비자가 사용하는 바이트입니다. 에만 VARHEAP적용됩니다.
allocation_count int 할당 수입니다.
partition_count int 내부용으로만 사용됩니다.
sizeclass_count int 내부용으로만 사용됩니다.
min_sizeclass int 내부용으로만 사용됩니다.
max_sizeclass int 내부용으로만 사용됩니다.
memory_consumer_address varbinary 소비자의 내부 주소입니다. 내부 전용.

다음 표에서는 열에 지정된 메모리 소비자에 대해 memory_consumer_type 설명합니다.

메모리 소비자 설명 Type
256K page pool 검사포인트 작업 중에 사용되는 메모리 풀입니다. PGPOOL
4K page pool 검사포인트 작업 중에 사용되는 메모리 풀입니다. PGPOOL
Checkpoint table 내부용으로만 사용됩니다. VARHEAP
Ckpt file table 내부용으로만 사용됩니다. VARHEAP
Ckpt file watermark table 내부용으로만 사용됩니다. VARHEAP
Database internal heap 메모리 덤프에 포함되고 사용자 데이터를 포함하지 않는 데이터베이스 데이터를 할당하는 데 사용됩니다. VARHEAP
Database user heap 데이터베이스(행)에 대한 사용자 데이터를 할당하는 데 사용됩니다. VARHEAP
Encryption table 내부용으로만 사용됩니다. VARHEAP
Hash index 인덱스 메모리 사용량을 추적합니다. 테이블 object_idindex_id 해시 인덱스 자체를 나타냅니다. HASH
Large Rows File table 내부용으로만 사용됩니다. VARHEAP
LOB Page Allocator 큰 행에서 사용하는 힙 메모리입니다. VARHEAP
Logical range index partition table 내부용으로만 사용됩니다. VARHEAP
Logical root fragment table 내부용으로만 사용됩니다. VARHEAP
Logical Root table 내부용으로만 사용됩니다. VARHEAP
Logical Sequence Object table 내부용으로만 사용됩니다. VARHEAP
Physical range index partition table 내부용으로만 사용됩니다. VARHEAP
Physical root fragment table 내부용으로만 사용됩니다. VARHEAP
Physical Root table 내부용으로만 사용됩니다. VARHEAP
Physical Sequence object table 내부용으로만 사용됩니다. VARHEAP
Range index heap 범위 인덱스가 Bw-tree 페이지를 할당하는 데 사용하는 프라이빗 힙입니다. VARHEAP
Storage internal heap 내부용으로만 사용됩니다. VARHEAP
Storage user heap 내부용으로만 사용됩니다. VARHEAP
Table heap 메모리 내 테이블에서 사용하는 힙 메모리입니다. VARHEAP
Tail cache 256K page pool 내부용으로만 사용됩니다. PGPOOL
Tx Segment table 내부용으로만 사용됩니다. VARHEAP

설명

메모리 최적화 테이블에 columnstore 인덱스가 있는 경우 시스템은 일부 메모리를 사용하는 일부 내부 테이블을 사용하여 columnstore 인덱스 데이터를 추적합니다. 이러한 내부 테이블 및 메모리 사용량을 보여 주는 샘플 쿼리에 대한 자세한 내용은 sys.memory_optimized_tables_internal_attributes(Transact-SQL)를 참조하세요.

사용 권한

현재 데이터베이스에 대한 VIEW DATABASE STATE 권한이 있는 경우 모든 행이 반환됩니다. 그렇지 않으면 빈 행 집합이 반환됩니다.

VIEW DATABASE 권한이 없는 경우 SELECT 권한이 있는 테이블의 행에 대해 모든 열이 반환됩니다.

SQL Server 2019(15.x) 및 이전 버전에서는 VIEW DATABASE STATE 권한이 있는 사용자에 대해서만 시스템 테이블이 반환됩니다.

SQL Server 2022(16.x) 이상 버전의 경우 데이터베이스에 대한 VIEW DATABASE PERFORMANCE STATE 권한이 필요합니다.

예제

현재 데이터베이스의 메모리 소비자 쿼리

메모리 최적화 테이블을 포함하는 샘플 WideWorldImporters 데이터베이스에 대해 다음 쿼리를 실행합니다.

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;

결과 집합은 다음과 같습니다.

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

이 DMV에서 할당되고 사용되는 총 메모리는 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;

결과 집합은 다음과 같습니다.

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