sys.dm_os_memory_cache_clock_hands (Transact-SQL)

适用于:SQL ServerAzure SynapseAnalytics Analytics 平台系统(PDW)

返回特定缓存时钟的每个指针的状态。

注意

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

列名称 数据类型 描述
cache_address varbinary(8) 与时钟关联的缓存的地址。 不可为 null。
name nvarchar(256) 缓存的名称。 不可为 null。
type nvarchar(60) 缓存存储的类型。 可存在相同类型的多个缓存。 不可为 null。
clock_hand nvarchar(60) 手的类型。 值为下列值之一:

外部

Internal

不可为 null。
clock_status nvarchar(60) 时钟的状态。 值为下列值之一:

已挂起

运行

不可为 null。
rounds_count bigint 通过缓存执行的、旨在删除项的清扫数。 不可为 null。
removed_all_rounds_count bigint 所有清扫删除的项数。 不可为 null。
updated_last_round_count bigint 上次清扫中更新的项数。 不可为 null。
removed_last_round_count bigint 上次清扫中删除的项数。 不可为 null。
last_tick_time bigint 移动时钟指针的最后时间,以毫秒表示。 不可为 null。
round_start_time bigint 上一次清扫的时间,以毫秒表示。 不可为 null。
last_round_start_time bigint 时钟完成上一往返花费的总时间,以毫秒表示。 不可为 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 信息。 若要避免重新创建信息,尽可能将信息保留在内存缓存中,通常当信息太旧而失去用处或新信息需要使用内存空间时,会将旧信息从缓存中删除。 删除旧信息的过程称为内存清扫。 内存清扫是经常执行的操作,但不是连续执行的操作。 时钟算法控制内存缓存的清扫。 每个时钟能够控制几个内存清扫,称为指针。 内存缓存时钟指针是指一个内存清扫指针的当前位置。

另请参阅

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