Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Notifica a los consumidores de memoria de nivel de base de datos en el motor de base de datos de OLTP en memoria. La vista devuelve una fila para cada consumidor de memoria que el motor de base de datos utiliza.
Para obtener más información, vea OLTP en memoria (optimización en memoria).
Se aplica a: SQL Server (desde SQL Server 2014 hasta la versión actual). |
Nombre de la columna |
Tipo de datos |
Descripción |
|---|---|---|
memory_consumer_id |
bigint |
Identificador (interno) del consumidor de memoria. |
memory_consumer_type |
int |
Tipo de consumidor de memoria:
|
memory_consumer_type_desc |
nvarchar(64) |
Tipo de consumidor de memoria: VARHEAP, HASH o PGPOOL.
|
memory_consumer_desc |
nvarchar(64) |
Descripción de la instancia del consumidor de memoria:
|
object_id |
bigint |
Identificador del objeto al que se atribuye la memoria asignada. Un valor negativo para los objetos del sistema. |
index_id |
int |
El identificador de índice del consumidor (si existe). NULL para las tablas base. |
allocated_bytes |
bigint |
Número de bytes reservados para el consumidor. |
used_bytes |
bigint |
Bytes utilizados por el consumidor. Solo se aplica a varheap. |
allocation_count |
int |
Número de asignaciones. |
partition_count |
int |
Exclusivamente para uso interno. |
sizeclass_count |
int |
Exclusivamente para uso interno. |
min_sizeclass |
int |
Exclusivamente para uso interno. |
max_sizeclass |
int |
Exclusivamente para uso interno. |
memory_consumer_address |
varbinary |
Dirección interna del consumidor. Exclusivamente para uso interno. |
Comentarios
En la salida, los asignadores en los niveles de base de datos hacen referencia a las tablas de usuario, los índices y las tablas del sistema. VARHEAP con object_id = NULL hace referencia en la memoria asignada a tablas con columnas de longitud variable.
Permisos
Se devuelven todas las filas si tiene el permiso VIEW DATABASE STATE en la base de datos actual. De lo contrario, se devuelve un conjunto de filas vacío.
Si no tiene permiso DATABASE STATE, todas las columnas se devolverán para las filas en las tablas en las que tenga el permiso SELECT.
Las tablas del sistema solo se devuelven para los usuarios con el permiso VIEW DATABASE STATE.
Ejemplos
-- memory consumers (database level)
SELECT OBJECT_NAME(object_id), *
FROM sys.dm_db_xtp_memory_consumers;
Escenario de usuario
-- memory consumers (database level)
select convert(char(10), object_name(object_id)) as Name,
convert(char(10),memory_consumer_type_desc ) as memory_consumer_type_desc, object_id,index_id, allocated_bytes, used_bytes
from sys.dm_db_xtp_memory_consumers
Este es el resultado con un subconjunto de columnas. Los asignadores en los niveles de base de datos hacen referencia a las tablas de usuario, los índices y las tablas del sistema. VARHEAP con object_id = NULL (última fila) hace referencia a la memoria asignada a las filas de datos de las tablas (en este ejemplo, es t1). Bytes asignados, cuando se convierten a MB, es 1340 MB.
Name memory_consumer_type_desc object_id index_id allocated_bytes used_bytes
---------- ------------------------- ----------- ----------- -------------------- --------------------
t3 HASH 629577281 2 8388608 8388608
t2 HASH 597577167 2 8388608 8388608
t1 HASH 565577053 2 1048576 1048576
NULL HASH -6 1 2048 2048
NULL VARHEAP -6 NULL 0 0
NULL HASH -5 3 8192 8192
NULL HASH -5 2 8192 8192
NULL HASH -5 1 8192 8192
NULL HASH -4 1 2048 2048
NULL VARHEAP -4 NULL 0 0
NULL HASH -3 1 2048 2048
NULL HASH -2 2 8192 8192
NULL HASH -2 1 8192 8192
NULL VARHEAP -2 NULL 196608 26496
NULL HASH 0 1 2048 2048
NULL PGPOOL 0 NULL 0 0
NULL VARHEAP NULL NULL 1405943808 1231220560
(17 row(s) affected)
La memoria total asignada y utilizada desde esta DMV es la misma que el nivel de objeto en sys.dm_db_xtp_table_memory_stats (Transact-SQL).
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
-------------------- --------------------
1358 1191
Vea también
Conceptos
Vistas de administración dinámica de tablas con optimización para memoria (Transact-SQL)