适用于:SQL Server
Azure Synapse 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 池不支持此语法。
| 列名称 | 数据类型 | Description |
|---|---|---|
| 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) 此分发所打开的节点的标识符。 |
Permissions
在 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 权限。