sys.dm_os_memory_cache_entries (Transact-SQL)
适用于:SQL Server Azure Synapse Analytics Analytics 平台系统(PDW)
返回有关 SQL Server 中缓存中所有条目的信息。 使用此视图可对缓存条目进行跟踪,直至它们的关联对象。 还可使用此视图获取有关缓存条目的统计信息。
注意
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_os_memory_cache_entries
。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
列名称 | 数据类型 | 描述 |
---|---|---|
cache_address |
varbinary(8) | 缓存的地址。 不可为 Null。 |
name |
nvarchar(256) | 缓存的名称。 不可为 Null。 |
type |
varchar(60) | 缓存类型。 不可为 Null。 |
entry_address |
varbinary(8) | 缓存条目的描述符地址。 不可为 Null。 |
entry_data_address |
varbinary(8) | 缓存条目中用户数据的地址。 0x00000000 = 条目数据地址不可用。 不可为 Null。 |
in_use_count |
int | 同时使用此缓存条目的用户数。 不可为 Null。 |
is_dirty |
bit | 指示是否将此缓存条目标记为待删除。 1 = 标记为待删除。 不可为 Null。 |
disk_ios_count |
int | 创建此条目时引发的 I/O 数。 不可为 Null。 |
context_switches_count |
int | 创建此条目时引发的上下文开关数。 不可为 Null。 |
original_cost |
int | 此条目的原始开销。 此值是引发的 I/O 数、CPU 指令开销以及条目占用的内存量等的近似值。 开销越大,从缓存中删除此条目的机会越小。 不可为 Null。 |
current_cost |
int | 缓存条目的当前开销。 此值将在条目清除过程中更新。 重用条目时,当前开销将重置为原始值。 不可为 Null。 |
memory_object_address |
varbinary(8) | 关联内存对象的地址。 Nullable。 |
pages_allocated_count |
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。 |
entry_data |
nvarchar(2048) | 缓存条目的序列化表示形式。 此信息与缓存存储相关。 Nullable。 |
pool_id |
int | 适用于:SQL Server 2008 R2(10.50.x)及更高版本。 与条目关联的资源池 ID。 Nullable。 |
pdw_node_id |
int | 适用于:Azure Synapse Analytics、Analytics Platform System (PDW) 此分发所在节点的标识符。 |
权限
对于 SQL Server 和Azure SQL 托管实例,需要VIEW SERVER STATE
权限。
SQL Server 2022(16.x)及更高版本需要 VIEW SERVER PERFORMANCE STATE
对服务器具有权限。
在Azure SQL 数据库基本、S0 和 S1 服务目标以及弹性池中的数据库,需要服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##
身份。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE
权限或 ##MS_ServerStateReader##
服务器角色中的成员身份。