sys.dm_os_memory_cache_clock_hands (Transact-SQL)
適用於:SQL Server Azure Synapse Analytics Analytics Platform System (PDW)
傳回特定快取時鐘之每個手的狀態。
注意
若要從 Azure Synapse Analytics 或 Analytics Platform System (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) | 手部類型。 值為下列其中一項: 外部 內部 不可為 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 Database [Basic]、[S0] 和 [S1] 服務目標,以及彈性集區中的資料庫,需要伺服器管理員帳戶、伺服器管理員帳戶、Microsoft Entra 管理員帳戶或 ##MS_ServerStateReader##
伺服器角色的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫的 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)