sys.dm_os_memory_cache_clock_hands (Transact-SQL)
适用于:SQL Server Azure Synapse Analytics 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 数据库“基本”、“S0”和“S1”服务目标中,对于“弹性池”中的数据库,服务器管理员帐户、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)