sys.dm_os_memory_pools (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

为 SQL Server 实例中的每个对象存储返回一行。 可以使用此视图来监视缓存内存使用情况,并识别错误的缓存行为。

注意

若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_os_memory_pools。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。

列名称 数据类型 描述
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)

此分发所在节点的标识符。

权限

对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE 权限。

在SQL 数据库基本、S0S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE 权限或 ##MS_ServerStateReader## 服务器角色中的成员身份。

SQL Server 2022 及更高版本的权限

要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。

注解

SQL Server 组件有时使用通用池框架来缓存同质无状态数据类型。 池框架比缓存框架更简单。 池中的所有项都被视为是等同的。 在内部,池是内存分配器,并且可以用在使用内存分配器的地方。

另请参阅

与 SQL Server 操作系统相关的动态管理视图 (Transact-SQL)