sys.dm_os_memory_cache_clock_hands (Transact-SQL)
返回特定缓存时钟的每个指针的状态。
列名 |
数据类型 |
说明 |
---|---|---|
cache_address |
varbinary(8) |
与时钟关联的缓存的地址。 不可为 Null。 |
name |
nvarchar(256) |
缓存的名称。 不可为 Null。 |
类型 |
nvarchar(60) |
缓存存储的类型。 可存在相同类型的多个缓存。 不可为 Null。 |
clock_hand |
nvarchar(60) |
指针的类型。 可为下列值之一:
不可为 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。 |
权限
需要对服务器具有 VIEW SERVER STATE 权限。
注释
SQL Server 将信息存储在内存中一个称为内存缓存的结构中。 缓存中的信息可以是数据、索引条目、编译的过程计划以及其他各种类型的 SQL Server 信息。 若要避免重新创建信息,尽可能将信息保留在内存缓存中,通常当信息太旧而失去用处或新信息需要使用内存空间时,会将旧信息从缓存中删除。 删除旧信息的过程称为内存清扫。 内存清扫是经常执行的操作,但不是连续执行的操作。 时钟算法控制内存缓存的清扫。 每个时钟能够控制几个内存清扫,称为指针。 内存缓存时钟指针是指一个内存清扫指针的当前位置。