适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统(PDW)
Microsoft Fabric中的SQL数据库
为 SQL Server 实例中的每个对象存储返回一行。 可以使用此视图来监视缓存内存使用情况,并识别错误的缓存行为。
注释
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_os_memory_pools。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
| 列名称 | 数据类型 | Description |
|---|---|---|
| memory_pool_address | varbinary(8) | 代表内存池的项的内存地址。 不可为 null。 |
| pool_id | int | 在一组池中的特定池的 ID。 不可为 null。 |
| type | nvarchar(60) | 对象池的类型。 不可为 null。 有关详细信息,请参阅 sys.dm_os_memory_clerks (Transact-SQL)。 |
| name | nvarchar(256) | 系统为此内存对象分配的名称。 不可为 null。 |
| max_free_entries_count | bigint | 池可以拥有的最大可用项的个数。 不可为 null。 |
| free_entries_count | bigint | 池中当前可用项的个数。 不可为 null。 |
| removed_in_all_rounds_count | bigint | 自 SQL Server 实例启动以来从池中删除的条目数。 不可为 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 权限。
注解
SQL Server 组件有时使用通用池框架来缓存同质无状态数据类型。 池框架比缓存框架更简单。 池中的所有项都被视为是等同的。 在内部,池是内存分配器,并且可以用在使用内存分配器的地方。