sys.dm_os_memory_cache_counters (Transact-SQL)

Applies to: SQL Server Azure Synapse Analytics Analytics Platform System (PDW)

Returns a snapshot of the health of a cache in SQL Server. sys.dm_os_memory_cache_counters provides run-time information about the cache entries allocated, their use, and the source of memory for the cache entries.

Note

To call this from Azure Synapse Analytics or Analytics Platform System (PDW), use the name sys.dm_pdw_nodes_os_memory_cache_counters. This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.

Column name Data type Description
cache_address varbinary(8) Indicates the address (primary key) of the counters associated with a specific cache. Is not nullable.
name nvarchar(256) Specifies the name of the cache. Is not nullable.
type nvarchar(60) Indicates the type of cache that is associated with this entry. Is not nullable.
single_pages_kb bigint Applies to: SQL Server 2008 (10.0.x) through SQL Server 2008 R2 (10.50.x).

Amount, in kilobytes, of the single-page memory allocated. This is the amount of memory allocated by using the single-page allocator. This refers to the 8-KB pages that are taken directly from the buffer pool for this cache. Is not nullable.
pages_kb bigint Applies to: SQL Server 2012 (11.x) and later.

Specifies the amount, in kilobytes, of the memory allocated in the cache. Is not nullable.
multi_pages_kb bigint Applies to: SQL Server 2008 (10.0.x) through SQL Server 2008 R2 (10.50.x).

Amount, in kilobytes, of the multipage memory allocated. This is the amount of memory allocated by using the multiple-page allocator of the memory node. This memory is allocated outside the buffer pool and takes advantage of the virtual allocator of the memory nodes. Is not nullable.
pages_in_use_kb bigint Applies to: SQL Server 2012 (11.x) and later.

Specifies the amount, in kilobytes, of the memory that is allocated and in use in the cache. Is nullable. Values for objects of type USERSTORE_<*> are not tracked. NULL is reported for them.
single_pages_in_use_kb bigint Applies to: SQL Server 2008 (10.0.x) through SQL Server 2008 R2 (10.50.x).

Amount, in kilobytes, of the single-page memory that is being used. Is nullable. This information is not tracked for objects of type USERSTORE_<*> and these values will be NULL.
multi_pages_in_use_kb bigint Applies to: SQL Server 2008 (10.0.x) through SQL Server 2008 R2 (10.50.x).

Amount, in kilobytes, of the multipage memory that is being used. NULLABLE. This information is not tracked for objects of type USERSTORE_<*>, and these values will be NULL.
entries_count bigint Indicates the number of entries in the cache. Is not nullable.
entries_in_use_count bigint Indicates the number of entries in the cache that is being used. Is not nullable.
pdw_node_id int Applies to: Azure Synapse Analytics, Analytics Platform System (PDW)

The identifier for the node that this distribution is on.

Permissions

On SQL Server and SQL Managed Instance, requires VIEW SERVER STATE permission.

On SQL Database Basic, S0, and S1 service objectives, and for databases in elastic pools, the server admin account, the Microsoft Entra admin account, or membership in the ##MS_ServerStateReader## server role is required. On all other SQL Database service objectives, either the VIEW DATABASE STATE permission on the database, or membership in the ##MS_ServerStateReader## server role is required.

Permissions for SQL Server 2022 and later

Requires VIEW SERVER PERFORMANCE STATE permission on the server.

See also

SQL Server Operating System Related Dynamic Management Views (Transact-SQL)