sys.dm_os_memory_pools (Transact-SQL)

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

适用范围:SQL Server(SQL Server 2008 到当前版本)。

列名

数据类型

说明

memory_pool_address

varbinary(8)

代表内存池的项的内存地址。 不可为 Null。

pool_id

int

在一组池中的特定池的 ID。 不可为 Null。

类型

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。

权限

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

注释

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

请参阅

参考

动态管理视图和函数 (Transact-SQL)

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