sys.dm_os_memory_cache_counters (Transact-SQL)
适用于:SQL Server Azure Synapse Analytics Analytics 平台系统(PDW)
返回 SQL Server 中缓存运行状况的快照。 sys.dm_os_memory_cache_counters提供有关分配的缓存项、它们的使用以及缓存条目的内存源的运行时信息。
注意
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_os_memory_cache_counters。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
列名称 | 数据类型 | 描述 |
---|---|---|
cache_address | varbinary(8) | 指示与特定缓存关联的计数器的地址(主键)。 不可为 null。 |
name | nvarchar(256) | 指定缓存的名称。 不可为 null。 |
type | nvarchar(60) | 指示与该项关联的缓存的类型。 不可为 null。 |
single_pages_kb | bigint | 适用于:SQL Server 2008 (10.0.x) 至 SQL Server 2008 R2 (10.50.x)。 已分配的单页内存量(千字节)。 这是通过单页分配器分配的内存量。 它指的是从此缓存的缓冲池中直接获取的 8 KB 页。 不可为 null。 |
pages_kb | bigint | 适用于:SQL Server 2012 (11.x) 及更高版本。 指定缓存中分配的内存量 (KB)。 不可为 null。 |
multi_pages_kb | bigint | 适用于:SQL Server 2008 (10.0.x) 至 SQL Server 2008 R2 (10.50.x)。 已分配的多页内存的容量(千字节)。 这是使用内存节点的多页分配器分配的内存量。 此内存在缓冲池外面分配,利用了内存节点虚拟分配器的优势。 不可为 null。 |
pages_in_use_kb | bigint | 适用于:SQL Server 2012 (11.x) 及更高版本。 指定缓存中分配并使用的内存量 (KB)。 可以为 Null。 不跟踪类型为 USERSTORE_<*> 的对象的值。 将针对其报告 NULL。 |
single_pages_in_use_kb | bigint | 适用于:SQL Server 2008 (10.0.x) 至 SQL Server 2008 R2 (10.50.x)。 正在使用的单页内存量(千字节)。 可以为 Null。 对于类型为 USERSTORE_<*> 的对象,不会跟踪此信息,这些值将为 NULL。 |
multi_pages_in_use_kb | bigint | 适用于:SQL Server 2008 (10.0.x) 至 SQL Server 2008 R2 (10.50.x)。 正在使用的多页内存量(千字节)。 空。 此信息不会跟踪USERSTORE_<*>类型的对象,这些值将为 NULL。 |
entries_count | bigint | 指示缓存中的条目数。 不可为 null。 |
entries_in_use_count | bigint | 指示缓存中正在使用的条目数。 不可为 null。 |
pdw_node_id | int | 适用于:Azure Synapse Analytics、Analytics Platform System (PDW) 此分发所在节点的标识符。 |
权限
对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE
权限。
在SQL 数据库基本、S0 和 S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##
身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE
权限或 ##MS_ServerStateReader##
服务器角色中的成员身份。
SQL Server 2022 及更高版本的权限
要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。