sys.dm_os_memory_clerks (Transact-SQL)
Devuelve el conjunto de todos los empleados de memoria activos actualmente en la instancia de SQL Server.
Nombre de columna |
Tipo de datos |
Descripción |
---|---|---|
memory_clerk_address |
varbinary(8) |
Dirección de memoria exclusiva del empleado de memoria. Es la columna de clave principal. No acepta valores NULL. |
type |
nvarchar(60) |
Tipo de empleado de memoria. Cada empleado tiene un tipo específico, como empleados de CLR MEMORYCLERK_SQLCLR. No acepta valores NULL. |
name |
nvarchar(256) |
Nombre asignado internamente a este empleado de memoria. Cada componente puede tener varios empleados de memoria de un tipo específico. Un componente puede optar por usar nombres específicos para identificar empleados de memoria del mismo tipo. No acepta valores NULL. |
memory_node_id |
smallint |
Id. del nodo de memoria. No acepta valores NULL. |
single_pages_kb |
bigint |
Cantidad de memoria de página única asignada en kilobytes (KB). Es la cantidad de memoria asignada mediante el asignador de páginas únicas de un nodo de memoria. Este asignador de páginas únicas sustrae páginas directamente del grupo de búferes. No acepta valores NULL. |
multi_pages_kb |
bigint |
Cantidad de memoria de páginas múltiples asignada en KB. Es la cantidad de memoria asignada mediante el asignador de páginas múltiples de los nodos de memoria. Esta memoria se asigna fuera del grupo de búferes y aprovecha el asignador virtual de los nodos de memoria. No acepta valores NULL. |
virtual_memory_reserved_kb |
bigint |
Cantidad de memoria virtual reservada por un empleado de memoria. Es la cantidad de memoria reservada directamente por el componente que utiliza este empleado. En la mayoría de casos, sólo el grupo de búferes reserva espacio de direcciones virtual directamente mediante su empleado de memoria. No acepta valores NULL. |
virtual_memory_committed_kb |
bigint |
Cantidad de memoria virtual confirmada por un empleado de memoria. Es la cantidad de memoria comprometida por el empleado. La cantidad de memoria comprometida debe ser siempre menor que la cantidad de memoria reservada. No acepta valores NULL. |
awe_allocated_kb |
bigint |
Cantidad de memoria asignada por el empleado de memoria mediante Extensiones de ventana de dirección (AWE). En SQL Server, sólo los empleados de grupos de búferes (MEMORYCLERK_SQLBUFFERPOOL) usan este mecanismo, y sólo cuando AWE está habilitado. No acepta valores NULL. |
shared_memory_reserved_kb |
bigint |
Cantidad de memoria compartida reservada por un empleado de memoria. La cantidad de memoria reservada que va a utilizar la memoria compartida y la asignación de archivos. No acepta valores NULL. |
shared_memory_committed_kb |
bigint |
Cantidad de memoria compartida confirmada por el empleado de memoria. No acepta valores NULL. |
page_size_bytes |
bigint |
Tamaño de la página que puede asignar un empleado de memoria. Sólo se admite un tamaño de 8.192 bytes. No acepta valores NULL. |
page_allocator_address |
varbinary(8) |
Dirección del asignador de la página. Esta dirección es única para un empleado de memoria y se puede utilizar en sys.dm_os_memory_objects para localizar objetos de memoria confirmados para este empleado. No acepta valores NULL. |
host_address |
varbinary(8) |
Dirección de memoria del host para este empleado de memoria. Para obtener más información, vea sys.dm_os_hosts (Transact-SQL). Los componentes, como MicrosoftSQL Server Native Client, tienen acceso a recursos de memoria de SQL Server a través de la interfaz del host. 0x00000000 = El empleado de memoria pertenece a SQL Server. No acepta valores NULL. |
Permisos
Requiere el permiso VIEW SERVER STATE en el servidor.
Notas
El administrador de memoria de SQL Server consta de una jerarquía de tres capas. En la parte inferior de la jerarquía están los nodos de memoria. El siguiente nivel incluye los empleados de memoria, los almacenamientos en caché de la memoria y los grupos de memoria. La última capa incluye los objetos de memoria. Normalmente, estos objetos se utilizan para asignar memoria en una instancia de SQL Server.
Los nodos de memoria proporcionan la interfaz y la implementación de los asignadores de nivel inferior. En SQL Server, sólo los empleados de memoria tienen acceso a nodos de memoria. Los empleados de memoria tienen acceso a interfaces de nodos de memoria para asignar memoria. Los nodos de memoria también realizan el seguimiento de la memoria asignada utilizando el empleado para diagnósticos. Cada componente que asigne una cantidad de memoria importante debe crear su propio empleado de memoria y asignar toda su memoria mediante las interfaces del empleado. Los componentes crean sus empleados correspondientes cuando se inicia SQL Server.