sys.dm_os_memory_brokers (Transact-SQL)

適用于: SQL Server Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server 內部的配置會使用 SQL Server 記憶體管理員。 追蹤進程記憶體計數器與 sys.dm_os_process_memory 和內部計數器之間的差異,可以指出 SQL Server 記憶體空間中外部元件的記憶體使用量。

記憶體代理程式會根據目前和投影的使用方式,在 SQL Server 內的各種元件之間相當分散記憶體配置。 記憶體代理程式不會執行配置。 它們只會追蹤計算分配的配置。

下表提供記憶體代理程式的相關資訊。

注意

若要從 Azure Synapse Analytics 或 Analytics Platform System (PDW) 呼叫此專案,請使用名稱 sys.dm_pdw_nodes_os_memory_brokers 。 Azure Synapse Analytics 的無伺服器 SQL 集區不支援此語法。

資料行名稱 資料類型 描述
pool_id int 如果資源集區與資源管理員集區相關聯,則為資源集區的識別碼。
memory_broker_type nvarchar(60) 記憶體代理程式的類型。 SQL Server 中目前有三種類型的記憶體代理程式,其描述如下。

MEMORYBROKER_FOR_CACHE :配置供快取物件使用的記憶體(非緩衝集區快取)。

MEMORYBROKER_FOR_STEAL:從緩衝集區竊取的記憶體。 此記憶體會由記憶體 Clerk 追蹤,而且在目前擁有者釋放之前,無法供其他元件重複使用。

MEMORYBROKER_FOR_RESERVE :目前執行要求保留供未來使用的記憶體。
allocations_kb bigint 記憶體數量,以 KB 為單位,已配置給這種類型的訊息代理程式。
allocations_kb_per_sec bigint 每秒以 KB 為單位的記憶體配置速率。 此值對記憶體解除配置而言可以是負值。
predicted_allocations_kb bigint 由訊息代理程式預測配置的記憶體數量。 這是以記憶體使用模式為基礎。
target_allocations_kb bigint 以 KB 為單位的建議配置記憶體數量,以 KB 為單位,以目前的設定和記憶體使用量模式為基礎。 此訊息代理程式應成長為或縮小至此數位。
future_allocations_kb bigint 預計配置數目,以 KB 為單位,將在接下來數秒內完成。
overall_limit_kb bigint 訊息代理程式可以配置的記憶體數量上限,以 KB 為單位。
last_notification nvarchar(60) 根據目前設定和使用模式的記憶體使用量建議。 有效值如下所示:

成長

shrink

穩定
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 Database 服務目標上,需要資料庫的 VIEW DATABASE STATE 權限或 ##MS_ServerStateReader## 伺服器角色的成員資格。

SQL Server 2022 及更新版本的權限

需要伺服器上的 VIEW SERVER PERFORMANCE STATE 權限。

另請參閱

SQL Server 作業系統相關動態管理檢視 (Transact-SQL)